JS面试题(进阶)——原型链、this指向、闭包

JavaScript032

JS面试题(进阶)——原型链、this指向、闭包,第1张

知识点:

面试题(一):

面试题(二):

第一种:方法调用

第二种:函数调用,里面的this指向的是window

第三种:构造函数调用:this指向调用它的对象

第四种:上下文调用模式,this指向谁?指向的是传入的对象

let var const 函数作用域 {}

1、在函数里面创建一个对象obj

2、将函数里面的this指向创建的那个对象obj

3、返回这个obj对象

闭包的概念:

闭包的使用场景:

闭包的问题:让变量得不到释放,增加内存使用率

给DOM 添加点击事件:

区别:onclick 会覆盖相同的事件,addEventListener会逐一的触发

DOM 事件三要素: 事件源, 事件类型, 事件处理程序

事件流程: 冒泡,捕获

ES5的继承

1、构造函数实现继承

2、借助原型是实现继承

3、组合方式实现继承

ES6的继承

深入学习可参考: https://juejin.im/post/5daeefc8e51d4524f007fb15?utm_source=gold_browser_extension#heading-22

this指向或者说代表的就说当前的这个对象。你换成变量名之后,首先 i 的值就说oTd的长度,oTd的长度这个对象说undefined,因为索引是从0开始,最后的索引是长度-1;undefined没有节点之类的对象,所以就报错了。