2022前端面试题js方面(一)

一、原型(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,

你可能感兴趣的:(es6,解构,快速去重,闭包,防抖节流)