一、原型(prototype)与原型链(_proto_)
1.原型是函数所特有的;
2.原型链是所有对象都有的。
3.原型链的查找规则:从当前属性去查找如果找到了就返回,否则顺着原型链一层层往上找,直到找到null为止,如果找到null都没有找到,报错。
4.hasOwnProperty(),查找自身的私有属性。
二、防抖与节流
1.防抖:固定的时间内,将多次操作变成一次,只执行最后一次。节流:保证一定时间内只调用一次,应用场景:提交表单;高频监听事件。
三、js闭包
1.闭包是方法里返回一个方法
2.闭包延长了变量的生命周期和创造了私有环境。
3.闭包会常驻内存,所以慎用。
4.vue data (){return{}}就是闭包的应用。
四、es6
1.var let const
var是有变量提升,变量覆盖的,没有块级作用域。for里面最好用let.
const是声明之后必须要赋值的,并且不能被更改的,支持let的其他属性。
五、解构的应用:
let a=1;
let b=2;
将a和b交换:[a,b]=[b,a]
六、Set数组快速去重:
let arr=[12,43,23,12,43,55]
console.log([...new Set(arr)])
七、promise
const promise=new Promise((resolve,reject)=>{
console.log(1)
resolve();
console.log(2);
})
promise.then(()=>{//异步执行
console.log(3)
})
console.log(4)
1,2,43,