From d44f5032d0f53256b2d5aef505d6b593fd3cd158 Mon Sep 17 00:00:00 2001 From: Irvin Date: Wed, 16 Feb 2022 02:14:18 +0800 Subject: fix yari h2m dry run errors (zh-CN) --- .../javascript/reference/operators/this/index.html | 22 ++++++++++++---------- 1 file changed, 12 insertions(+), 10 deletions(-) (limited to 'files/zh-cn/web/javascript/reference/operators/this/index.html') diff --git a/files/zh-cn/web/javascript/reference/operators/this/index.html b/files/zh-cn/web/javascript/reference/operators/this/index.html index 86616407d0..8e79b0d0d5 100644 --- a/files/zh-cn/web/javascript/reference/operators/this/index.html +++ b/files/zh-cn/web/javascript/reference/operators/this/index.html @@ -42,8 +42,8 @@ this.b = "MDN"; console.log(window.b) // "MDN" console.log(b) // "MDN" -
-

Note: 你可以使用 {{jsxref("globalThis")}} 获取全局对象,无论你的代码是否在当前上下文运行。

+
+

备注:你可以使用 {{jsxref("globalThis")}} 获取全局对象,无论你的代码是否在当前上下文运行。

函数上下文

@@ -72,7 +72,9 @@ f1() === globalThis; f2() === undefined; // true -
在第二个例子中,this 应是 undefined,因为 f2 是被直接调用的,而不是作为对象的属性或方法调用的(如 window.f2())。有一些浏览器最初在支持严格模式时没有正确实现这个功能,于是它们错误地返回了window对象。
+
+

备注:在第二个例子中,this 应是 undefined,因为 f2 是被直接调用的,而不是作为对象的属性或方法调用的(如 window.f2())。有一些浏览器最初在支持严格模式时没有正确实现这个功能,于是它们错误地返回了window对象。

+

如果要想把 this 的值从一个环境传到另一个,就要用 call 或者apply 方法,如下方的示例所示。

@@ -94,8 +96,8 @@ f2() === undefined; // true new Example(); // ['constructor', 'first', 'second'] -
-

注意:静态方法不是 this 的属性,它们只是类自身的属性。

+
+

备注:静态方法不是 this 的属性,它们只是类自身的属性。

派生类

@@ -104,7 +106,7 @@ new Example(); // ['constructor', 'first', 'second']
this = new Base();
-
+

警告:在调用 super() 之前引用 this 会抛出错误。

@@ -199,7 +201,7 @@ var foo = (() => this); console.log(foo() === globalObject); // true
-

注意:如果将this传递给callbind、或者apply来调用箭头函数,它将被忽略。不过你仍然可以为调用添加参数,不过第一个参数(thisArg)应该设置为null

+

备注:如果将this传递给callbind、或者apply来调用箭头函数,它将被忽略。不过你仍然可以为调用添加参数,不过第一个参数(thisArg)应该设置为null

// 接着上面的代码
@@ -328,7 +330,7 @@ console.log(o.average, o.sum); // logs 2, 6
 

当一个函数用作构造函数时(使用new关键字),它的this被绑定到正在构造的新对象。

-

虽然构造函数返回的默认值是 this 所指的那个对象,但它仍可以手动返回其他的对象(如果返回值不是一个对象,则返回 this 对象)。

+

备注:虽然构造函数返回的默认值是 this 所指的那个对象,但它仍可以手动返回其他的对象(如果返回值不是一个对象,则返回 this 对象)。

/*
@@ -443,8 +445,8 @@ bird.sayHi(); // Hello from Tweety
 bird.sayBye = car.sayBye;
 bird.sayBye();  // Bye from Ferrari
-
-

注意:类内部总是严格模式。调用一个 this 值为 undefined 的方法会抛出错误。

+
+

备注:类内部总是严格模式。调用一个 this 值为 undefined 的方法会抛出错误。

规范

-- cgit v1.2.3-54-g00ecf