1
0
mirror of https://github.com/ruanyf/es6tutorial.git synced 2025-05-24 10:22:23 +00:00

docs: 修正已知的 this 术语错误

This commit is contained in:
daungui 2021-05-16 00:39:45 +08:00
parent ee1b51ecd1
commit 53cb4d3ef8
2 changed files with 2 additions and 2 deletions

View File

@ -253,7 +253,7 @@ point.hasOwnProperty('toString') // false
point.__proto__.hasOwnProperty('toString') // true
```
上面代码中,`x``y`都是实例对象`point`自身的属性(因为定义在`this`变量上),所以`hasOwnProperty()`方法返回`true`,而`toString()`是原型对象的属性(因为定义在`Point`类上),所以`hasOwnProperty()`方法返回`false`。这些都与 ES5 的行为保持一致。
上面代码中,`x``y`都是实例对象`point`自身的属性(因为定义在`this`对象上),所以`hasOwnProperty()`方法返回`true`,而`toString()`是原型对象的属性(因为定义在`Point`类上),所以`hasOwnProperty()`方法返回`false`。这些都与 ES5 的行为保持一致。
与 ES5 一样,类的所有实例共享一个原型对象。

View File

@ -599,7 +599,7 @@ JavaScript 语言存在一个顶层对象,它提供全局环境(即全局作
- 浏览器和 Web Worker 里面,`self`也指向顶层对象,但是 Node 没有`self`
- Node 里面,顶层对象是`global`,但其他环境都不支持。
同一段代码为了能够在各种环境,都能取到顶层对象,现在一般是使用`this`变量,但是有局限性。
同一段代码为了能够在各种环境,都能取到顶层对象,现在一般是使用`this`关键字,但是有局限性。
- 全局环境中,`this`会返回顶层对象。但是Node.js 模块中`this`返回的是当前模块ES6 模块中`this`返回的是`undefined`
- 函数里面的`this`,如果函数不是作为对象的方法运行,而是单纯作为函数运行,`this`会指向顶层对象。但是,严格模式下,这时`this`会返回`undefined`