学东西要知其然而且知其所以然
别的,实践出来的感悟和他人分享的感悟是不一样的
- [ ] 垂直居中规划
- [x] 浏览器缓存
- [ ] tcp衔接
- [ ] 状况码 301 302 307
- [x] bind要领完成
- [x] new关键字完成
- [ ] 最长大众子序列
- [ ] react中 pureComponent hooks
- [x] 箭头函数
- [ ] window.onload() && $(document).ready()
- 浏览器缓存有一个注重点
Etag优先级比LastModified高, lastmodified末了修正时刻只能准确到秒,假如1s内屡次修正,捕获不到
别的,有些资本内容没有变,但lastmodified变了,etag能够防备不运用缓存
- bind要领简朴完成
Function.prototype.bind = function() {
var self = this;
var o = Array.prototype.shift.call(arguments);
var arg1 = Array.prototype.slice.call(arguments);
return function (...args) {
return self.apply(o, arg1.concat([...args]));
}
}
- 箭头函数的一些特性总结
let play = () => { consoel.log(this) }
1. 箭头函数没有原型,所以箭头函数没有this
play.prototype == undefined
2. 箭头函数的this指向定义时刻地点外层this指向,跟运用位置没有关系
this === window
3. 箭头函数this指向window时,没有arguments
let bar = () => { console.log(arguments) }// 报错
箭头函数的this指向一般函数时,它的arguments可继承
function bar() {
let foo = () => {
console.log(arguments)
}
foo() // 能够打印
}
var name = 'b';
var o = {
name: 'a',
key : () => {
console.log(this.name) // b
}
}
var o2 = {
name: 'a',
key : function() { console.log(this.name)} // a
}
4. 箭头函数不能运用new 关键字 由于没有constructor