手抄报 安全手抄报 手抄报内容 手抄报图片 英语手抄报 清明节手抄报 节约用水手抄报

如何理解JavaScript构造函数中的this功能

时间:2024-10-12 08:20:24

1、构造函数执行

如何理解JavaScript构造函数中的this功能

2、首先进行 变量提升(全局)只有函数Student

如何理解JavaScript构造函数中的this功能

3、创建新对象 new Student('VIC', 20)Step1: 首先像普通函数一样, 在栈内存里形成私有作用域, 然后进行形参赋值, 变量提升

如何理解JavaScript构造函数中的this功能

4、Step2: 在JS代码自上而下执行之前, 首先在当前形成的私有栈中创建一个对象创建一个堆内存, 怵臂勺沩暂时不存储任何的东西并且让函数中的执行主体(this), 指向新的堆内存, this ===创建的对象找一个步骤是构造函数执行特有的, 普通函数执行的时候没有;this的创建是浏览器默认执行的, 我们看不到

如何理解JavaScript构造函数中的this功能

5、Step3: 代码自上而下执行

如何理解JavaScript构造函数中的this功能
如何理解JavaScript构造函数中的this功能

6、Step4: 代码执行完成后, 把之前创建的堆内存地址返回浏览器默认进行的操作, 不需要手工来做构造函数执行独有的

如何理解JavaScript构造函数中的this功能

7、开始创建的对象 其实就是当前Student这个类的一个实例我们让this指向这个实例, 代码执行中的this.na罪焐芡拂me = 'VIC'等操作都是给这个实例设置'私有属性'最后浏览器会把默认创建的实例返回, 供外面接收

8、再次执行new Student时, 会创建新的内存空间, 形成新的实例实例是独立分开的

9、实例对象中, 并没有 属性n只有this.属性 = '值' 才和实例对象有关系变量n 是私有作用域中的一个私有变量而已, 和实例对象没有关系

如何理解JavaScript构造函数中的this功能
如何理解JavaScript构造函数中的this功能
© 手抄报圈