diff options
author | Irvin <irvinfly@gmail.com> | 2022-02-16 02:02:49 +0800 |
---|---|---|
committer | Irvin <irvinfly@gmail.com> | 2022-02-16 02:35:54 +0800 |
commit | 01b0e12ba27b5069248fd09235e9a7143915ee30 (patch) | |
tree | 0e9edf538dc3fa3331e1dbb79239b58186765f86 /files/zh-cn/web/javascript/reference/global_objects/function | |
parent | 6ca84f1794af830ada9736d7289ce29aabb04ca3 (diff) | |
download | translated-content-01b0e12ba27b5069248fd09235e9a7143915ee30.tar.gz translated-content-01b0e12ba27b5069248fd09235e9a7143915ee30.tar.bz2 translated-content-01b0e12ba27b5069248fd09235e9a7143915ee30.zip |
remove `notranslate` class in zh-CN
Diffstat (limited to 'files/zh-cn/web/javascript/reference/global_objects/function')
-rw-r--r-- | files/zh-cn/web/javascript/reference/global_objects/function/apply/index.html | 18 | ||||
-rw-r--r-- | files/zh-cn/web/javascript/reference/global_objects/function/bind/index.html | 16 |
2 files changed, 17 insertions, 17 deletions
diff --git a/files/zh-cn/web/javascript/reference/global_objects/function/apply/index.html b/files/zh-cn/web/javascript/reference/global_objects/function/apply/index.html index d345215619..944791e29c 100644 --- a/files/zh-cn/web/javascript/reference/global_objects/function/apply/index.html +++ b/files/zh-cn/web/javascript/reference/global_objects/function/apply/index.html @@ -19,7 +19,7 @@ translation_of: Web/JavaScript/Reference/Global_Objects/Function/apply <h2 id="Syntax" name="Syntax">语法</h2> -<pre class="syntaxbox notranslate"><code><em>func</em>.apply(<em>thisArg</em><em>, [</em><em>argsArray</em>])</code></pre> +<pre class="syntaxbox"><code><em>func</em>.apply(<em>thisArg</em><em>, [</em><em>argsArray</em>])</code></pre> <h3 id="Parameters" name="Parameters">参数</h3> @@ -58,7 +58,7 @@ translation_of: Web/JavaScript/Reference/Global_Objects/Function/apply <p><code>apply</code>正派上用场!</p> -<pre class="brush: js notranslate">var array = ['a', 'b']; +<pre class="brush: js">var array = ['a', 'b']; var elements = [0, 1, 2]; array.push.apply(array, elements); console.info(array); // ["a", "b", 0, 1, 2] @@ -70,7 +70,7 @@ console.info(array); // ["a", "b", 0, 1, 2] <p>下面是示例,我们将用<code>Math.max</code>/<code>Math.min</code>求得数组中的最大/小值。</p> -<pre class="brush: js notranslate">/* 找出数组中最大/小的数字 */ +<pre class="brush: js">/* 找出数组中最大/小的数字 */ var numbers = [5, 6, 2, 3, 7]; /* 使用Math.min/Math.max以及apply 函数时的代码 */ @@ -91,7 +91,7 @@ for (var i = 0; i < numbers.length; i++) { <p>如果你的参数数组可能非常大,那么推荐使用下面这种混合策略:将数组切块后循环传入目标方法:</p> -<pre class="brush: js notranslate">function minOfArray(arr) { +<pre class="brush: js">function minOfArray(arr) { var min = Infinity; var QUANTUM = 32768; @@ -110,7 +110,7 @@ var min = minOfArray([5, 6, 2, 3, 7]); <p>你可以使用apply来链接一个对象<a href="/zh-CN/docs/JavaScript/Reference/Operators/new" title="JavaScript/Reference/Operators/new">构造器</a>,类似于Java。在接下来的例子中我们会创建一个全局<a href="/zh-CN/docs/JavaScript/Reference/Global_Objects/Function" title="JavaScript/Reference/Global_Objects/Function"><code>Function</code></a> 对象的construct方法 ,来使你能够在构造器中使用一个类数组对象而非参数列表。</p> -<pre class="brush: js notranslate">Function.prototype.construct = function (aArgs) { +<pre class="brush: js">Function.prototype.construct = function (aArgs) { var oNew = Object.create(this.prototype); this.apply(oNew, aArgs); return oNew; @@ -122,7 +122,7 @@ var min = minOfArray([5, 6, 2, 3, 7]); <p>Using {{jsxref("Object/__proto__", "Object.__proto__")}}:</p> -<pre class="brush: js notranslate">Function.prototype.construct = function (aArgs) { +<pre class="brush: js">Function.prototype.construct = function (aArgs) { var oNew = {}; oNew.__proto__ = this.prototype; this.apply(oNew, aArgs); @@ -131,7 +131,7 @@ var min = minOfArray([5, 6, 2, 3, 7]); <p>使用闭包:</p> -<pre class="brush: js notranslate" style="font-style: normal;">Function.prototype.construct = function(aArgs) { +<pre class="brush: js" style="font-style: normal;">Function.prototype.construct = function(aArgs) { var fConstructor = this, fNewConstr = function() { fConstructor.apply(this, aArgs); }; @@ -141,7 +141,7 @@ var min = minOfArray([5, 6, 2, 3, 7]); <p class="brush: js" style="font-style: normal;">使用 Function 构造器:</p> -<pre class="brush: js notranslate">Function.prototype.construct = function (aArgs) { +<pre class="brush: js">Function.prototype.construct = function (aArgs) { var fNewConstr = new Function(""); fNewConstr.prototype = this.prototype; var oNew = new fNewConstr(); @@ -152,7 +152,7 @@ var min = minOfArray([5, 6, 2, 3, 7]); <p>使用示例:</p> -<pre class="brush: js notranslate">function MyConstructor (arguments) { +<pre class="brush: js">function MyConstructor (arguments) { for (var nProp = 0; nProp < arguments.length; nProp++) { this["property" + nProp] = arguments[nProp]; } diff --git a/files/zh-cn/web/javascript/reference/global_objects/function/bind/index.html b/files/zh-cn/web/javascript/reference/global_objects/function/bind/index.html index c612abb1df..8940da5ad4 100644 --- a/files/zh-cn/web/javascript/reference/global_objects/function/bind/index.html +++ b/files/zh-cn/web/javascript/reference/global_objects/function/bind/index.html @@ -20,7 +20,7 @@ translation_of: Web/JavaScript/Reference/Global_Objects/Function/bind <h2 id="语法">语法</h2> -<pre class="syntaxbox notranslate"><code><var>function</var></code>.bind(<var>thisArg</var>[, <var>arg1</var>[, <var>arg2</var>[, ...]]])</pre> +<pre class="syntaxbox"><code><var>function</var></code>.bind(<var>thisArg</var>[, <var>arg1</var>[, <var>arg2</var>[, ...]]])</pre> <h3 id="参数">参数</h3> @@ -63,7 +63,7 @@ translation_of: Web/JavaScript/Reference/Global_Objects/Function/bind <p><code>bind()</code> 最简单的用法是创建一个函数,不论怎么调用,这个函数都有同样的 <strong><code>this</code></strong> 值。JavaScript新手经常犯的一个错误是将一个方法从对象中拿出来,然后再调用,期望方法中的 <code>this</code> 是原来的对象(比如在回调中传入这个方法)。如果不做特殊处理的话,一般会丢失原来的对象。基于这个函数,用原始的对象创建一个绑定函数,巧妙地解决了这个问题:</p> -<pre class="brush: js notranslate">this.x = 9; // 在浏览器中,this 指向全局的 "window" 对象 +<pre class="brush: js">this.x = 9; // 在浏览器中,this 指向全局的 "window" 对象 var module = { x: 81, getX: function() { return this.x; } @@ -85,7 +85,7 @@ boundGetX(); // 81 <p><code>bind()</code> 的另一个最简单的用法是使一个函数拥有预设的初始参数。只要将这些参数(如果有的话)作为 <code>bind()</code> 的参数写在 <code>this</code> 后面。当绑定函数被调用时,这些参数会被插入到目标函数的参数列表的开始位置,传递给绑定函数的参数会跟在它们后面。</p> -<pre class="brush: js notranslate">function list() { +<pre class="brush: js">function list() { return Array.prototype.slice.call(arguments); } @@ -120,7 +120,7 @@ var result3 = addThirtySeven(5, 10); <p>在默认情况下,使用 {{ domxref("window.setTimeout()") }} 时,<code>this</code> 关键字会指向 {{ domxref("window") }} (或 <code>global</code>)对象。当类的方法中需要 <code>this</code> 指向类的实例时,你可能需要显式地把 <code>this</code> 绑定到回调函数,就不会丢失该实例的引用。</p> -<pre class="brush: js notranslate"><code>function LateBloomer() { +<pre class="brush: js"><code>function LateBloomer() { this.petalCount = Math.ceil(Math.random() * 12) + 1; } @@ -145,7 +145,7 @@ flower.bloom(); // 一秒钟后, 调用 'declare' 方法</code></pre> <p>绑定函数自动适应于使用 {{jsxref("Operators/new", "new")}} 操作符去构造一个由目标函数创建的新实例。当一个绑定函数是用来构建一个值的,原来提供的 <code>this</code> 就会被忽略。不过提供的参数列表仍然会插入到构造函数调用时的参数列表之前。</p> -<pre class="brush: js notranslate">function Point(x, y) { +<pre class="brush: js">function Point(x, y) { this.x = x; this.y = y; } @@ -178,7 +178,7 @@ new YAxisPoint(17, 42) instanceof Point; // true</pre> <p>请注意,你不需要做特别的处理就可以创建一个和 {{jsxref("Operators/new", "new")}} 操作符一起使用的绑定函数。也就是说,你不需要做特别处理就可以创建一个可以被直接调用的绑定函数,即使你更希望绑定函数是用 {{jsxref("Operators/new", "new")}} 操作符来调用。</p> -<pre class="brush: js notranslate">// ...接着上面的代码继续的话, +<pre class="brush: js">// ...接着上面的代码继续的话, // 这个例子可以直接在你的 JavaScript 控制台运行 // 仍然能作为一个普通函数来调用 @@ -196,7 +196,7 @@ emptyObj.x + ',' + emptyObj.y; // '0,13' <p>你可以用 {{jsxref("Array.prototype.slice")}} 来将一个类似于数组的对象(array-like object)转换成一个真正的数组,就拿它来举例子吧。你可以简单地这样写:</p> -<pre class="brush: js notranslate">var slice = Array.prototype.slice; +<pre class="brush: js">var slice = Array.prototype.slice; // ... @@ -204,7 +204,7 @@ slice.apply(arguments);</pre> <p>用 <code>bind()</code>可以使这个过程变得简单。在下面这段代码里面,<code>slice</code> 是 {{jsxref("Function.prototype")}} 的 {{jsxref("Function.prototype.apply()", "apply()")}} 方法的绑定函数,并且将 {{jsxref("Array.prototype")}} 的 {{jsxref("Array.prototype.slice()", "slice()")}} 方法作为 <strong><code>this</code></strong> 的值。这意味着我们压根儿用不着上面那个 <code>apply()</code>调用了。</p> -<pre class="brush: js notranslate">// 与前一段代码的 "slice" 效果相同 +<pre class="brush: js">// 与前一段代码的 "slice" 效果相同 var unboundSlice = Array.prototype.slice; var slice = Function.prototype.apply.bind(unboundSlice); |