Skip to content

Files

Latest commit

660cd50 · Oct 21, 2018

History

History
21 lines (15 loc) · 653 Bytes

4.1.3.1 JavaScript 的 this 原理.md

File metadata and controls

21 lines (15 loc) · 653 Bytes

JavaScript 的 this 原理

JavaScript 语言之所以有this的设计,跟内存里面的数据结构有关系

如果要读取obj.foo,引擎先从obj拿到内存地址,然后再从该地址读出原始的对象,返回它的foo属性。

原始的对象以字典结构保存,每一个属性名都对应一个属性描述对象。举例来说,上面例子的foo属性,

var obj = { p: 'a' };
Object.getOwnPropertyDescriptor(obj, 'p')
// Object { value: "a",
// writable: true,
// enumerable: true,
// configurable: true
// }

参考