Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

AutoCorrect files/zh-cn/web/javascript/reference/global_objects/r* #5969

Merged
merged 3 commits into from
May 29, 2022
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
Expand Up @@ -24,7 +24,7 @@ <h3 id="参数">参数</h3>

<h2 id="描述">描述</h2>

<p>试图传递一个number参数给一个范围内不包含该number的函数时则会引发<strong>RangeError</strong>。当传递一个不合法的length值作为{{jsxref("Array")}} 构造器的参数创建数组,或者传递错误值到数值计算方法({{jsxref("Number.toExponential()")}},{{jsxref("Number.toFixed()")}} ,{{jsxref("Number.toPrecision()")}}),会出现<strong>RangeError</strong>。.</p>
<p>试图传递一个 number 参数给一个范围内不包含该 number 的函数时则会引发<strong>RangeError</strong>。当传递一个不合法的 length 值作为{{jsxref("Array")}} 构造器的参数创建数组,或者传递错误值到数值计算方法({{jsxref("Number.toExponential()")}},{{jsxref("Number.toFixed()")}} ,{{jsxref("Number.toPrecision()")}}),会出现<strong>RangeError</strong>。.</p>

<h2 id="属性">属性</h2>

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -51,7 +51,7 @@ <h3 id="Methods_of_ReferenceError_instances">方法</h3>

<h2 id="Examples">例子</h2>

<h3 id="Example:_Catch_an_ReferenceError">例: 捕获一个 <code>ReferenceError</code></h3>
<h3 id="Example:_Catch_an_ReferenceError">例捕获一个 <code>ReferenceError</code></h3>

<pre class="brush: js">try {
var a = undefinedVariable;
Expand All @@ -66,7 +66,7 @@ <h3 id="Example:_Catch_an_ReferenceError">例: 捕获一个 <code>ReferenceErro
}
</pre>

<h3 id="Example:_Create_an_ReferenceError">例: 创建一个 <code>ReferenceError</code></h3>
<h3 id="Example:_Create_an_ReferenceError">例创建一个 <code>ReferenceError</code></h3>

<pre class="brush: js">try {
throw new ReferenceError('Hello', 'someFile.js', 10);
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@
---
<div>{{JSRef}}</div>

<p>静态方法 <code><strong>Reflect</strong></code><strong><code>.apply()</code></strong> 通过指定的参数列表发起对目标(target)函数的调用。</p>
<p>静态方法 <code><strong>Reflect</strong></code><strong><code>.apply()</code></strong> 通过指定的参数列表发起对目标 (target) 函数的调用。</p>

<div>{{EmbedInteractiveExample("pages/js/reflect-apply.html")}}</div>

Expand All @@ -27,9 +27,9 @@ <h3 id="参数">参数</h3>
<dt>target</dt>
<dd>目标函数。</dd>
<dt>thisArgument</dt>
<dd>target函数调用时绑定的this对象。</dd>
<dd>target 函数调用时绑定的 this 对象。</dd>
<dt>argumentsList</dt>
<dd>target函数调用时传入的实参列表,该参数应该是一个类数组的对象。</dd>
<dd>target 函数调用时传入的实参列表,该参数应该是一个类数组的对象。</dd>
</dl>

<h3 id="返回值">返回值</h3>
Expand All @@ -42,7 +42,7 @@ <h3 id="异常">异常</h3>

<h2 id="描述">描述</h2>

<p>该方法与ES5中{{jsxref("Function.prototype.apply()")}}方法类似:调用一个方法并且显式地指定 <code>this</code> 变量和参数列表(arguments) ,参数列表可以是数组,或类似数组的对象。</p>
<p>该方法与 ES5 中{{jsxref("Function.prototype.apply()")}}方法类似:调用一个方法并且显式地指定 <code>this</code> 变量和参数列表 (arguments) ,参数列表可以是数组,或类似数组的对象。</p>

<pre class="brush: js">Function.prototype.apply.call(Math.floor, undefined, [1.75]);</pre>

Expand Down Expand Up @@ -77,7 +77,7 @@ <h2 id="规范">规范</h2>
<tr>
<td>{{SpecName('ES6', '#sec-reflect.apply', 'Reflect.apply')}}</td>
<td>{{Spec2('ES6')}}</td>
<td>首次定义.</td>
<td>首次定义</td>
</tr>
<tr>
<td>{{SpecName('ESDraft', '#sec-reflect.apply', 'Reflect.apply')}}</td>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -14,9 +14,9 @@
---
<div>{{jssidebar}}</div>

<p>ES2015中引入的 {{jsxref("Reflect")}} 对象是一个内置对象,提供了与JavaScript对象交互的方法。<code>Reflect</code> 上存在的一些静态函数也对应于ES2015之前的{{jsxref("Object")}}上可用的方法。尽管某些方法在行为上看似相似,但它们之间常常存在细微的差异。</p>
<p>ES2015 中引入的 {{jsxref("Reflect")}} 对象是一个内置对象,提供了与 JavaScript 对象交互的方法。<code>Reflect</code> 上存在的一些静态函数也对应于 ES2015 之前的{{jsxref("Object")}}上可用的方法。尽管某些方法在行为上看似相似,但它们之间常常存在细微的差异。</p>

<p>下表详细介绍了<code>Object</code> 和 <code>Reflect</code> API上可用方法之间的差异。请注意,如果API中不存在某种方法,则将其标记为N/A。</p>
<p>下表详细介绍了<code>Object</code> 和 <code>Reflect</code> API 上可用方法之间的差异。请注意,如果 API 中不存在某种方法,则将其标记为 N/A。</p>

<table class="standard-table">
<thead>
Expand Down Expand Up @@ -83,10 +83,10 @@
<tr>
<td><code>getPrototypeOf()</code></td>
<td>
<p>{{jsxref("Object.getPrototypeOf()")}}返回给定对象的原型。如果没有继承的原型,则返回<code>null。</code>在ES5中为非对象抛出<code>TypeError</code>,但在ES2015中强制为非对象。</p>
<p>{{jsxref("Object.getPrototypeOf()")}}返回给定对象的原型。如果没有继承的原型,则返回<code>null。</code>在 ES5 中为非对象抛出<code>TypeError</code>,但在 ES2015 中强制为非对象。</p>
</td>
<td>
<p>{{jsxref("Reflect.getPrototypeOf()")}}返回给定对象的原型。如果没有继承的原型,则返回null,并为非对象抛出<code>TypeError</code>。</p>
<p>{{jsxref("Reflect.getPrototypeOf()")}}返回给定对象的原型。如果没有继承的原型,则返回 null,并为非对象抛出<code>TypeError</code>。</p>
</td>
</tr>
<tr>
Expand All @@ -95,13 +95,13 @@
<p>如果对象的原型设置成功,则{{jsxref("Object.setPrototypeOf()")}}返回对象本身。如果设置的原型不是<code>Object</code>或<code>null</code>,或者被修改的对象的原型不可扩展,则抛出<code>TypeError</code>。</p>
</td>
<td>
<p>如果在对象上成功设置了原型,则{{jsxref("Reflect.setPrototypeOf()")}} 返回true,否则返回false(包括原型是否不可扩展)。如果传入的目标不是<code>Object</code>,或者设置的原型不是<code>Object</code>或<code>null</code>,则抛出<code>TypeError</code>。</p>
<p>如果在对象上成功设置了原型,则{{jsxref("Reflect.setPrototypeOf()")}} 返回 true,否则返回 false(包括原型是否不可扩展)。如果传入的目标不是<code>Object</code>,或者设置的原型不是<code>Object</code>或<code>null</code>,则抛出<code>TypeError</code>。</p>
</td>
</tr>
<tr>
<td><code>isExtensible()</code></td>
<td>
<p>如果对象是可扩展的,则Object.isExtensible()返回true,否则返回false。如果第一个参数不是对象(原始值),则在ES5中抛出<code>TypeError</code>。在ES2015中,它将被强制为不可扩展的普通对象并返回<code>false</code>。</p>
<p>如果对象是可扩展的,则 Object.isExtensible()返回 true,否则返回 false。如果第一个参数不是对象(原始值),则在 ES5 中抛出<code>TypeError</code>。在 ES2015 中,它将被强制为不可扩展的普通对象并返回<code>false</code>。</p>
</td>
<td>
<p>如果对象是可扩展的,则{{jsxref("Reflect.isExtensible()")}} 返回<code>true</code>,否则返回<code>false</code>。如果第一个参数不是对象(原始值),则抛出<code>TypeError</code>。</p>
Expand All @@ -110,7 +110,7 @@
<tr>
<td><code>preventExtensions()</code></td>
<td>
<p>{{jsxref("Object.preventExtensions()")}} 返回被设为不可扩展的对象。如果参数不是对象(原始值),则在ES5中抛出<code>TypeError</code>。在ES2015中,参数如为不可扩展的普通对象,然后返回对象本身。</p>
<p>{{jsxref("Object.preventExtensions()")}} 返回被设为不可扩展的对象。如果参数不是对象(原始值),则在 ES5 中抛出<code>TypeError</code>。在 ES2015 中,参数如为不可扩展的普通对象,然后返回对象本身。</p>
</td>
<td>
<p>returns <code>true</code> if the object has been made non-extensible, and <code>false</code> if it has not. Throws a <code>TypeError</code> if the argument is not an object (a primitive).</p>
Expand All @@ -121,7 +121,7 @@
<tr>
<td><code>keys()</code></td>
<td>
<p>{{jsxref("Object.keys()")}}返回一个字符串<code>数组</code>,该字符串映射到目标对象自己的(可枚举)属性键。如果目标不是对象,则在ES5中抛出<code>TypeError</code>,但将非对象目标强制为ES2015中的对象</p>
<p>{{jsxref("Object.keys()")}}返回一个字符串<code>数组</code>,该字符串映射到目标对象自己的(可枚举)属性键。如果目标不是对象,则在 ES5 中抛出<code>TypeError</code>,但将非对象目标强制为 ES2015 中的对象</p>
</td>
<td>N/A</td>
</tr>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -29,18 +29,18 @@ <h3 id="返回值"><code>返回值</code></h3>

<h3 id="异常">异常</h3>

<p>如果target或者newTarget不是构造函数,抛出{{jsxref("TypeError")}},异常。</p>
<p>如果 target 或者 newTarget 不是构造函数,抛出{{jsxref("TypeError")}},异常。</p>

<h2 id="描述">描述</h2>

<p><code>Reflect.construct</code>允许你使用可变的参数来调用构造函数 ,这和使用<a href="https://developer.mozilla.org/zh-CN/docs/Web/JavaScript/Reference/Operators/new">new操作符</a>搭配<a href="https://developer.mozilla.org/ zh-CN/docs/Web/JavaScript/Reference/Operators/new">对象展开符</a>调用一样。</p>
<p><code>Reflect.construct</code>允许你使用可变的参数来调用构造函数 ,这和使用<a href="https://developer.mozilla.org/zh-CN/docs/Web/JavaScript/Reference/Operators/new">new 操作符</a>搭配<a href="https://developer.mozilla.org/ zh-CN/docs/Web/JavaScript/Reference/Operators/new">对象展开符</a>调用一样。</p>

<pre class="brush: js">var obj = new Foo(...args);
var obj = Reflect.construct(Foo, args); </pre>

<h3 id="Reflect.construct_vs_Object.create"><code>Reflect.construct()</code> vs <code>Object.create()</code></h3>

<p><code>在新语法Reflect</code>出现之前,是通过明确指定构造函数和原型对象( 使用{{jsxref("Object.create()")}})来创建一个对象的。</p>
<p><code>在新语法 Reflect</code>出现之前,是通过明确指定构造函数和原型对象( 使用{{jsxref("Object.create()")}})来创建一个对象的。</p>

<pre class="brush: js">function OneClass() {
this.name = 'one';
Expand All @@ -50,10 +50,10 @@ <h3 id="Reflect.construct_vs_Object.create"><code>Reflect.construct()</code> vs
this.name = 'other';
}

// 创建一个对象:
// 创建一个对象
var obj1 = Reflect.construct(OneClass, args, OtherClass);

// 与上述方法等效:
// 与上述方法等效
var obj2 = Object.create(OtherClass.prototype);
OneClass.apply(obj2, args);

Expand All @@ -70,7 +70,7 @@ <h3 id="Reflect.construct_vs_Object.create"><code>Reflect.construct()</code> vs

<p>当使用<code>Object.create()</code>和{{jsxref("Function.prototype.apply()")}}时,如果不使用<code>new</code>操作符调用构造函数,构造函数内部的<code>new.target</code>值会指向<code>undefined</code>。</p>

<p>当调用<code>Reflect.construct()</code>来创建对象,<code>new.target</code>值会自动指定到<code>target</code>(或者newTarget,前提是newTarget指定了)。</p>
<p>当调用<code>Reflect.construct()</code>来创建对象,<code>new.target</code>值会自动指定到<code>target</code>(或者 newTarget,前提是 newTarget 指定了)。</p>

<pre class="brush: js">function OneClass() {
console.log('OneClass');
Expand All @@ -82,18 +82,18 @@ <h3 id="Reflect.construct_vs_Object.create"><code>Reflect.construct()</code> vs
}

var obj1 = Reflect.construct(OneClass, args);
// 输出:
// 输出
// OneClass
// function OneClass { ... }

var obj2 = Reflect.construct(OneClass, args, OtherClass);
// 输出:
// 输出
// OneClass
// function OtherClass { ... }

var obj3 = Object.create(OtherClass.prototype);
OneClass.apply(obj3, args);
// 输出:
// 输出
// OneClass
// undefined</pre>

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -52,7 +52,7 @@ <h3 id="与_Object.getPrototypeOf_比较">与 <code>Object.getPrototypeOf()</co
Object.getPrototypeOf('foo') // Throws TypeError
Reflect.getPrototypeOf('foo') // Throws TypeError

// 在 ES2015 规范下,Reflect 抛异常, Object 强制转换非 Object
// 在 ES2015 规范下,Reflect 抛异常Object 强制转换非 Object
Object.getPrototypeOf('foo') // String.prototype
Reflect.getPrototypeOf('foo') // Throws TypeError

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,7 @@ <h3 id="参数">参数</h3>

<dl>
<dt><code>target</code></dt>
<dd>目标对象.</dd>
<dd>目标对象</dd>
<dt><code>propertyKey</code></dt>
<dd>属性名,需要检查目标对象是否存在此属性。</dd>
</dl>
Expand All @@ -40,7 +40,7 @@ <h3 id="使用_Reflect.has()">使用 <code>Reflect.has()</code></h3>
<pre class="brush: js">Reflect.has({x: 0}, "x"); // true
Reflect.has({x: 0}, "y"); // false

// 如果该属性存在于原型链中,返回true
// 如果该属性存在于原型链中,返回 true
Reflect.has({x: 0}, "toString");

// Proxy 对象的 .has() 句柄方法
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -14,9 +14,9 @@

<h2 id="描述">描述</h2>

<p>与大多数全局对象不同<code>Reflect</code>并非一个构造函数,所以不能通过<a href="/zh-CN/docs/Web/JavaScript/Reference/Operators/new">new运算符</a>对其进行调用,或者将<code>Reflect</code>对象作为一个函数来调用。<code>Reflect</code>的所有属性和方法都是静态的(就像{{jsxref("Math")}}对象)。</p>
<p>与大多数全局对象不同<code>Reflect</code>并非一个构造函数,所以不能通过<a href="/zh-CN/docs/Web/JavaScript/Reference/Operators/new">new 运算符</a>对其进行调用,或者将<code>Reflect</code>对象作为一个函数来调用。<code>Reflect</code>的所有属性和方法都是静态的(就像{{jsxref("Math")}}对象)。</p>

<p><code>Reflect</code> 对象提供了以下静态方法,这些方法与<a href="/zh-CN/docs/Web/JavaScript/Reference/Global_Objects/Proxy/handler">proxy handler methods</a>的命名相同.</p>
<p><code>Reflect</code> 对象提供了以下静态方法,这些方法与<a href="/zh-CN/docs/Web/JavaScript/Reference/Global_Objects/Proxy/handler">proxy handler methods</a>的命名相同</p>

<p>其中的一些方法与 {{jsxref("Object")}} 相同,尽管二者之间存在<a href="/zh-CN/docs/Web/JavaScript/Reference/Global_Objects/Reflect/Comparing_Reflect_and_Object_methods">某些细微上的差别</a>。</p>

Expand All @@ -34,21 +34,21 @@ <h2 id="静态方法">静态方法</h2>
<dt>{{jsxref("Reflect.get()", "Reflect.get(<var>target</var>, <var>propertyKey</var>[, <var>receiver</var>])")}}</dt>
<dd>获取对象身上某个属性的值,类似于 <code>target[name]。</code></dd>
<dt>{{jsxref("Reflect.getOwnPropertyDescriptor()", "Reflect.getOwnPropertyDescriptor(<var>target</var>, <var>propertyKey</var>)")}}</dt>
<dd>类似于 {{jsxref("Object.getOwnPropertyDescriptor()")}}。如果对象中存在该属性,则返回对应的属性描述符否则返回 {{jsxref("undefined")}}.</dd>
<dd>类似于 {{jsxref("Object.getOwnPropertyDescriptor()")}}。如果对象中存在该属性,则返回对应的属性描述符否则返回 {{jsxref("undefined")}}</dd>
<dt>{{jsxref("Reflect.getPrototypeOf()", "Reflect.getPrototypeOf(<var>target</var>)")}}</dt>
<dd>类似于 {{jsxref("Object.getPrototypeOf()")}}。</dd>
<dt>{{jsxref("Reflect.has()", "Reflect.has(<var>target, propertyKey</var>)")}}</dt>
<dd>判断一个对象是否存在某个属性,和 <a href="/zh-CN/docs/Web/JavaScript/Reference/Operators/in"><code>in</code> 运算符</a> 的功能完全相同。</dd>
<dt>{{jsxref("Reflect.isExtensible()", "Reflect.isExtensible(<var>target</var>)")}}</dt>
<dd>类似于 {{jsxref("Object.isExtensible()")}}.</dd>
<dt>{{jsxref("Reflect.ownKeys()", "Reflect.ownKeys(<var>target</var>)")}}</dt>
<dd>返回一个包含所有自身属性(不包含继承属性)的数组。(类似于 {{jsxref("Object.keys()")}}, 但不会受<code>enumerable影响</code>).</dd>
<dd>返回一个包含所有自身属性(不包含继承属性)的数组。(类似于 {{jsxref("Object.keys()")}}, 但不会受<code>enumerable</code> 影响).</dd>
<dt>{{jsxref("Reflect.preventExtensions()", "Reflect.preventExtensions(<var>target</var>)")}}</dt>
<dd>类似于 {{jsxref("Object.preventExtensions()")}}。返回一个{{jsxref("Boolean")}}。</dd>
<dt>{{jsxref("Reflect.set()", "Reflect.set(<var>target</var>, <var>propertyKey</var>, <var>value</var>[, <var>receiver</var>])")}}</dt>
<dd>将值分配给属性的函数。返回一个{{jsxref("Boolean")}},如果更新成功,则返回<code>true</code>。</dd>
<dt>{{jsxref("Reflect.setPrototypeOf()", "Reflect.setPrototypeOf(<var>target</var>, <var>prototype</var>)")}}</dt>
<dd>设置对象原型的函数. 返回一个 {{jsxref("Boolean")}}, 如果更新成功,则返回<code>true。</code></dd>
<dd>设置对象原型的函数返回一个 {{jsxref("Boolean")}}, 如果更新成功,则返回<code>true。</code></dd>
</dl>

<h2 id="Examples">Examples</h2>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@
---
<div>{{JSRef}}</div>

<p><code>静态方法 <strong>Reflect</strong></code><strong><code>.isExtensible()</code></strong> 判断一个对象是否可扩展 (即是否能够添加新的属性)。与它 {{jsxref("Object.isExtensible()")}} 方法相似,但有一些不同,详情可见 <a href="#与_object.isextensible()_的不同点">与 Object.isExtensible() 的不同点</a>。</p>
<p><code>静态方法 <strong>Reflect</strong></code><strong><code>.isExtensible()</code></strong> 判断一个对象是否可扩展(即是否能够添加新的属性)。与它 {{jsxref("Object.isExtensible()")}} 方法相似,但有一些不同,详情可见 <a href="#与_object.isextensible()_的不同点">与 Object.isExtensible() 的不同点</a>。</p>

<h2 id="语法">语法</h2>

Expand All @@ -29,7 +29,7 @@ <h3 id="异常">异常</h3>

<h2 id="描述">描述</h2>

<p><code>Reflect.isExtensible 判断</code>一个对象是否可扩展 (即是否能够添加新的属性)。它与 {{jsxref("Object.isExtensible()")}} 方法一样。</p>
<p><code>Reflect.isExtensible 判断</code>一个对象是否可扩展(即是否能够添加新的属性)。它与 {{jsxref("Object.isExtensible()")}} 方法一样。</p>

<h2 id="示例">示例</h2>

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -26,7 +26,7 @@ <h3 id="参数">参数</h3>

<h3 id="返回值">返回值</h3>

<p>match 方法会返回一个数组,它包括整个匹配结果,和通过捕获组匹配到的结果,如果没有匹配到则返回null</p>
<p>match 方法会返回一个数组,它包括整个匹配结果,和通过捕获组匹配到的结果,如果没有匹配到则返回 null</p>

<h2 id="描述">描述</h2>

Expand Down
Loading