aboutsummaryrefslogtreecommitdiff
path: root/files/zh-cn/web/javascript/reference/global_objects
diff options
context:
space:
mode:
Diffstat (limited to 'files/zh-cn/web/javascript/reference/global_objects')
-rw-r--r--files/zh-cn/web/javascript/reference/global_objects/aggregateerror/index.html6
-rw-r--r--files/zh-cn/web/javascript/reference/global_objects/array/concat/index.html10
-rw-r--r--files/zh-cn/web/javascript/reference/global_objects/array/every/index.html8
-rw-r--r--files/zh-cn/web/javascript/reference/global_objects/array/filter/index.html12
-rw-r--r--files/zh-cn/web/javascript/reference/global_objects/array/findindex/index.html6
-rw-r--r--files/zh-cn/web/javascript/reference/global_objects/array/flat/index.html18
-rw-r--r--files/zh-cn/web/javascript/reference/global_objects/array/flatmap/index.html10
-rw-r--r--files/zh-cn/web/javascript/reference/global_objects/array/from/index.html18
-rw-r--r--files/zh-cn/web/javascript/reference/global_objects/array/map/index.html24
-rw-r--r--files/zh-cn/web/javascript/reference/global_objects/array/reduce/index.html40
-rw-r--r--files/zh-cn/web/javascript/reference/global_objects/array/reduceright/index.html20
-rw-r--r--files/zh-cn/web/javascript/reference/global_objects/array/slice/index.html14
-rw-r--r--files/zh-cn/web/javascript/reference/global_objects/array/values/index.html12
-rw-r--r--files/zh-cn/web/javascript/reference/global_objects/arraybuffer/index.html8
-rw-r--r--files/zh-cn/web/javascript/reference/global_objects/atomics/index.html8
-rw-r--r--files/zh-cn/web/javascript/reference/global_objects/atomics/notify/index.html8
-rw-r--r--files/zh-cn/web/javascript/reference/global_objects/bigint64array/index.html2
-rw-r--r--files/zh-cn/web/javascript/reference/global_objects/boolean/index.html12
-rw-r--r--files/zh-cn/web/javascript/reference/global_objects/date/index.html14
-rw-r--r--files/zh-cn/web/javascript/reference/global_objects/encodeuricomponent/index.html10
-rw-r--r--files/zh-cn/web/javascript/reference/global_objects/finalizationregistry/index.html12
-rw-r--r--files/zh-cn/web/javascript/reference/global_objects/function/apply/index.html18
-rw-r--r--files/zh-cn/web/javascript/reference/global_objects/function/bind/index.html16
-rw-r--r--files/zh-cn/web/javascript/reference/global_objects/globalthis/index.html6
-rw-r--r--files/zh-cn/web/javascript/reference/global_objects/infinity/index.html2
-rw-r--r--files/zh-cn/web/javascript/reference/global_objects/intl/locale/index.html4
-rw-r--r--files/zh-cn/web/javascript/reference/global_objects/intl/relativetimeformat/index.html8
-rw-r--r--files/zh-cn/web/javascript/reference/global_objects/json/stringify/index.html18
-rw-r--r--files/zh-cn/web/javascript/reference/global_objects/map/foreach/index.html4
-rw-r--r--files/zh-cn/web/javascript/reference/global_objects/map/keys/index.html4
-rw-r--r--files/zh-cn/web/javascript/reference/global_objects/math/floor/index.html6
-rw-r--r--files/zh-cn/web/javascript/reference/global_objects/math/random/index.html10
-rw-r--r--files/zh-cn/web/javascript/reference/global_objects/math/sin/index.html4
-rw-r--r--files/zh-cn/web/javascript/reference/global_objects/math/sinh/index.html6
-rw-r--r--files/zh-cn/web/javascript/reference/global_objects/number/isfinite/index.html6
-rw-r--r--files/zh-cn/web/javascript/reference/global_objects/number/number/index.html4
-rw-r--r--files/zh-cn/web/javascript/reference/global_objects/object/assign/index.html24
-rw-r--r--files/zh-cn/web/javascript/reference/global_objects/object/create/index.html10
-rw-r--r--files/zh-cn/web/javascript/reference/global_objects/object/defineproperties/index.html6
-rw-r--r--files/zh-cn/web/javascript/reference/global_objects/object/defineproperty/index.html24
-rw-r--r--files/zh-cn/web/javascript/reference/global_objects/object/fromentries/index.html8
-rw-r--r--files/zh-cn/web/javascript/reference/global_objects/object/getownpropertydescriptor/index.html6
-rw-r--r--files/zh-cn/web/javascript/reference/global_objects/object/hasownproperty/index.html12
-rw-r--r--files/zh-cn/web/javascript/reference/global_objects/object/index.html10
-rw-r--r--files/zh-cn/web/javascript/reference/global_objects/object/is/index.html6
-rw-r--r--files/zh-cn/web/javascript/reference/global_objects/object/issealed/index.html6
-rw-r--r--files/zh-cn/web/javascript/reference/global_objects/parseint/index.html18
-rw-r--r--files/zh-cn/web/javascript/reference/global_objects/promise/all/index.html14
-rw-r--r--files/zh-cn/web/javascript/reference/global_objects/promise/allsettled/index.html2
-rw-r--r--files/zh-cn/web/javascript/reference/global_objects/promise/any/index.html8
-rw-r--r--files/zh-cn/web/javascript/reference/global_objects/promise/index.html24
-rw-r--r--files/zh-cn/web/javascript/reference/global_objects/promise/race/index.html6
-rw-r--r--files/zh-cn/web/javascript/reference/global_objects/proxy/index.html18
-rw-r--r--files/zh-cn/web/javascript/reference/global_objects/proxy/proxy/index.html4
-rw-r--r--files/zh-cn/web/javascript/reference/global_objects/proxy/proxy/preventextensions/index.html6
-rw-r--r--files/zh-cn/web/javascript/reference/global_objects/reflect/construct/index.html10
-rw-r--r--files/zh-cn/web/javascript/reference/global_objects/reflect/defineproperty/index.html6
-rw-r--r--files/zh-cn/web/javascript/reference/global_objects/reflect/index.html6
-rw-r--r--files/zh-cn/web/javascript/reference/global_objects/regexp/index.html20
-rw-r--r--files/zh-cn/web/javascript/reference/global_objects/regexp/regexp/index.html4
-rw-r--r--files/zh-cn/web/javascript/reference/global_objects/regexp/test/index.html8
-rw-r--r--files/zh-cn/web/javascript/reference/global_objects/set/@@iterator/index.html6
-rw-r--r--files/zh-cn/web/javascript/reference/global_objects/set/@@species/index.html4
-rw-r--r--files/zh-cn/web/javascript/reference/global_objects/set/add/index.html4
-rw-r--r--files/zh-cn/web/javascript/reference/global_objects/set/index.html12
-rw-r--r--files/zh-cn/web/javascript/reference/global_objects/set/set/index.html4
-rw-r--r--files/zh-cn/web/javascript/reference/global_objects/set/values/index.html4
-rw-r--r--files/zh-cn/web/javascript/reference/global_objects/string/charcodeat/index.html8
-rw-r--r--files/zh-cn/web/javascript/reference/global_objects/string/concat/index.html4
-rw-r--r--files/zh-cn/web/javascript/reference/global_objects/string/endswith/index.html6
-rw-r--r--files/zh-cn/web/javascript/reference/global_objects/string/fromcharcode/index.html6
-rw-r--r--files/zh-cn/web/javascript/reference/global_objects/string/includes/index.html8
-rw-r--r--files/zh-cn/web/javascript/reference/global_objects/string/indexof/index.html18
-rw-r--r--files/zh-cn/web/javascript/reference/global_objects/string/localecompare/index.html10
-rw-r--r--files/zh-cn/web/javascript/reference/global_objects/string/match/index.html10
-rw-r--r--files/zh-cn/web/javascript/reference/global_objects/string/matchall/index.html14
-rw-r--r--files/zh-cn/web/javascript/reference/global_objects/string/padend/index.html6
-rw-r--r--files/zh-cn/web/javascript/reference/global_objects/string/padstart/index.html6
-rw-r--r--files/zh-cn/web/javascript/reference/global_objects/string/repeat/index.html6
-rw-r--r--files/zh-cn/web/javascript/reference/global_objects/string/replace/index.html22
-rw-r--r--files/zh-cn/web/javascript/reference/global_objects/string/replaceall/index.html8
-rw-r--r--files/zh-cn/web/javascript/reference/global_objects/string/search/index.html4
-rw-r--r--files/zh-cn/web/javascript/reference/global_objects/string/startswith/index.html6
-rw-r--r--files/zh-cn/web/javascript/reference/global_objects/string/substring/index.html10
-rw-r--r--files/zh-cn/web/javascript/reference/global_objects/string/tolowercase/index.html4
-rw-r--r--files/zh-cn/web/javascript/reference/global_objects/string/touppercase/index.html6
-rw-r--r--files/zh-cn/web/javascript/reference/global_objects/string/trim/index.html6
-rw-r--r--files/zh-cn/web/javascript/reference/global_objects/string/valueof/index.html4
-rw-r--r--files/zh-cn/web/javascript/reference/global_objects/symbol/hasinstance/index.html2
-rw-r--r--files/zh-cn/web/javascript/reference/global_objects/symbol/index.html18
-rw-r--r--files/zh-cn/web/javascript/reference/global_objects/symbol/keyfor/index.html4
-rw-r--r--files/zh-cn/web/javascript/reference/global_objects/symbol/search/index.html2
-rw-r--r--files/zh-cn/web/javascript/reference/global_objects/symbol/split/index.html4
-rw-r--r--files/zh-cn/web/javascript/reference/global_objects/typedarray/foreach/index.html4
-rw-r--r--files/zh-cn/web/javascript/reference/global_objects/typedarray/set/index.html4
-rw-r--r--files/zh-cn/web/javascript/reference/global_objects/uint16array/index.html2
-rw-r--r--files/zh-cn/web/javascript/reference/global_objects/uint8clampedarray/index.html8
-rw-r--r--files/zh-cn/web/javascript/reference/global_objects/unescape/index.html4
-rw-r--r--files/zh-cn/web/javascript/reference/global_objects/weakref/deref/index.html4
-rw-r--r--files/zh-cn/web/javascript/reference/global_objects/weakref/index.html2
-rw-r--r--files/zh-cn/web/javascript/reference/global_objects/webassembly/global/index.html2
-rw-r--r--files/zh-cn/web/javascript/reference/global_objects/webassembly/instance/index.html2
-rw-r--r--files/zh-cn/web/javascript/reference/global_objects/webassembly/table/index.html8
103 files changed, 465 insertions, 465 deletions
diff --git a/files/zh-cn/web/javascript/reference/global_objects/aggregateerror/index.html b/files/zh-cn/web/javascript/reference/global_objects/aggregateerror/index.html
index c9578649f5..1802bbe483 100644
--- a/files/zh-cn/web/javascript/reference/global_objects/aggregateerror/index.html
+++ b/files/zh-cn/web/javascript/reference/global_objects/aggregateerror/index.html
@@ -11,7 +11,7 @@ translation_of: Web/JavaScript/Reference/Global_Objects/AggregateError
<h2 id="语法">语法</h2>
-<pre class="syntaxbox notranslate">new AggregateError(errors[, message])</pre>
+<pre class="syntaxbox">new AggregateError(errors[, message])</pre>
<h3 id="参数">参数</h3>
@@ -50,7 +50,7 @@ translation_of: Web/JavaScript/Reference/Global_Objects/AggregateError
<h3 id="捕获一个AggregateError">捕获一个AggregateError</h3>
-<pre class="brush: js; notranslate">Promise.any([
+<pre class="brush: js;">Promise.any([
Promise.reject(new Error("some error")),
]).catch(e =&gt; {
console.log(e instanceof AggregateError); // true
@@ -62,7 +62,7 @@ translation_of: Web/JavaScript/Reference/Global_Objects/AggregateError
<h3 id="创建一个AggregateError">创建一个AggregateError</h3>
-<pre class="brush: js; notranslate">try {
+<pre class="brush: js;">try {
throw new AggregateError([
new Error("some error"),
], 'Hello');
diff --git a/files/zh-cn/web/javascript/reference/global_objects/array/concat/index.html b/files/zh-cn/web/javascript/reference/global_objects/array/concat/index.html
index 4541912a76..b0960c35d0 100644
--- a/files/zh-cn/web/javascript/reference/global_objects/array/concat/index.html
+++ b/files/zh-cn/web/javascript/reference/global_objects/array/concat/index.html
@@ -16,7 +16,7 @@ translation_of: Web/JavaScript/Reference/Global_Objects/Array/concat
<h2 id="语法">语法</h2>
-<pre class="syntaxbox notranslate">var <var>new_array</var> = <var>old_array</var>.concat(<var>value1</var>[, <var>value2</var>[, ...[, <var>valueN</var>]]])</pre>
+<pre class="syntaxbox">var <var>new_array</var> = <var>old_array</var>.concat(<var>value1</var>[, <var>value2</var>[, ...[, <var>valueN</var>]]])</pre>
<h3 id="Parameters" name="Parameters">参数</h3>
@@ -53,7 +53,7 @@ translation_of: Web/JavaScript/Reference/Global_Objects/Array/concat
<p>以下代码将两个数组合并为一个新数组:</p>
-<pre class="brush: js notranslate">var alpha = ['a', 'b', 'c'];
+<pre class="brush: js">var alpha = ['a', 'b', 'c'];
var numeric = [1, 2, 3];
alpha.concat(numeric);
@@ -63,7 +63,7 @@ alpha.concat(numeric);
<p>以下代码将三个数组合并为一个新数组:</p>
-<pre class="brush: js notranslate">var num1 = [1, 2, 3],
+<pre class="brush: js">var num1 = [1, 2, 3],
num2 = [4, 5, 6],
num3 = [7, 8, 9];
@@ -76,7 +76,7 @@ console.log(nums);
<p>以下代码将三个值连接到数组:</p>
-<pre class="brush: js notranslate">var alpha = ['a', 'b', 'c'];
+<pre class="brush: js">var alpha = ['a', 'b', 'c'];
var alphaNumeric = alpha.concat(1, [2, 3]);
@@ -87,7 +87,7 @@ console.log(alphaNumeric);
<p>以下代码合并数组并保留引用:</p>
-<pre class="brush: js notranslate">var num1 = [[1]];
+<pre class="brush: js">var num1 = [[1]];
var num2 = [2, [3]];
var num3=[5,[6]];
diff --git a/files/zh-cn/web/javascript/reference/global_objects/array/every/index.html b/files/zh-cn/web/javascript/reference/global_objects/array/every/index.html
index a64c25b43d..38d4388b52 100644
--- a/files/zh-cn/web/javascript/reference/global_objects/array/every/index.html
+++ b/files/zh-cn/web/javascript/reference/global_objects/array/every/index.html
@@ -24,7 +24,7 @@ translation_of: Web/JavaScript/Reference/Global_Objects/Array/every
<h2 id="语法">语法</h2>
-<pre class="notranslate"><var>arr</var>.every(<var>callback</var>(<var>element</var>[, <var>index</var>[, <var>array</var>]])[, <var>thisArg</var>])</pre>
+<pre><var>arr</var>.every(<var>callback</var>(<var>element</var>[, <var>index</var>[, <var>array</var>]])[, <var>thisArg</var>])</pre>
<h3 id="参数">参数</h3>
@@ -68,7 +68,7 @@ translation_of: Web/JavaScript/Reference/Global_Objects/Array/every
<p>下例检测数组中的所有元素是否都大于 10。</p>
-<pre class="brush: js notranslate">function isBigEnough(element, index, array) {
+<pre class="brush: js">function isBigEnough(element, index, array) {
return element &gt;= 10;
}
[12, 5, 8, 130, 44].every(isBigEnough); // false
@@ -79,14 +79,14 @@ translation_of: Web/JavaScript/Reference/Global_Objects/Array/every
<p><a href="/zh-CN/docs/Web/JavaScript/Reference/Functions/Arrow_functions">箭头函数</a>为上面的检测过程提供了更简短的语法。</p>
-<pre class="brush: js notranslate">[12, 5, 8, 130, 44].every(x =&gt; x &gt;= 10); // false
+<pre class="brush: js">[12, 5, 8, 130, 44].every(x =&gt; x &gt;= 10); // false
[12, 54, 18, 130, 44].every(x =&gt; x &gt;= 10); // true</pre>
<h2 id="兼容旧环境(Polyfill)">兼容旧环境(Polyfill)</h2>
<p>在 ECMA-262 第 5 版时,<code>every</code> 被添加进 ECMA-262 标准;因此,在某些实现环境中,它尚未被支持。你可以把下面的代码放到脚本的开头来解决此问题,该代码允许在那些没有原生支持 <code>every</code> 的实现环境中使用它。该算法是 ECMA-262 第 5 版中指定的算法,它假定 <code>Object</code> 和 <code>TypeError</code> 拥有它们的初始值,且 <code>fun.call</code> 等价于 {{jsxref("Function.prototype.call")}}。</p>
-<pre class="brush: js notranslate">if (!Array.prototype.every) {
+<pre class="brush: js">if (!Array.prototype.every) {
Array.prototype.every = function(callbackfn, thisArg) {
'use strict';
var T, k;
diff --git a/files/zh-cn/web/javascript/reference/global_objects/array/filter/index.html b/files/zh-cn/web/javascript/reference/global_objects/array/filter/index.html
index c23bf5cb98..acc86a9592 100644
--- a/files/zh-cn/web/javascript/reference/global_objects/array/filter/index.html
+++ b/files/zh-cn/web/javascript/reference/global_objects/array/filter/index.html
@@ -20,7 +20,7 @@ translation_of: Web/JavaScript/Reference/Global_Objects/Array/filter
<h2 id="语法">语法</h2>
-<pre class="syntaxbox notranslate"><var>var newArray = arr</var>.filter(<var>callback(element[, index[, array]])</var>[, <var>thisArg</var>])</pre>
+<pre class="syntaxbox"><var>var newArray = arr</var>.filter(<var>callback(element[, index[, array]])</var>[, <var>thisArg</var>])</pre>
<h3 id="参数">参数</h3>
@@ -69,7 +69,7 @@ translation_of: Web/JavaScript/Reference/Global_Objects/Array/filter
<p>下例使用 <code>filter</code> 创建了一个新数组,该数组的元素由原数组中值大于 10 的元素组成。</p>
-<pre class="brush: js notranslate">function isBigEnough(element) {
+<pre class="brush: js">function isBigEnough(element) {
return element &gt;= 10;
}
var filtered = [12, 5, 8, 130, 44].filter(isBigEnough);
@@ -80,7 +80,7 @@ var filtered = [12, 5, 8, 130, 44].filter(isBigEnough);
<p>以下示例使用 <code>filter()</code> 创建具有非零 <code>id</code> 的元素的 json。</p>
-<pre class="brush: js notranslate">var arr = [
+<pre class="brush: js">var arr = [
{ id: 15 },
{ id: -1 },
{ id: 0 },
@@ -120,7 +120,7 @@ console.log('Number of Invalid Entries = ', invalidEntries);
<p>下例使用 <code>filter()</code> 根据搜索条件来过滤数组内容。</p>
-<pre class="brush: js notranslate">var fruits = ['apple', 'banana', 'grapes', 'mango', 'orange'];
+<pre class="brush: js">var fruits = ['apple', 'banana', 'grapes', 'mango', 'orange'];
/**
* Array filters items based on search criteria (query)
@@ -136,7 +136,7 @@ console.log(filterItems('an')); // ['banana', 'mango', 'orange']</pre>
<h4 id="ES2015_实现">ES2015 实现</h4>
-<pre class="brush: js notranslate">const fruits = ['apple', 'banana', 'grapes', 'mango', 'orange'];
+<pre class="brush: js">const fruits = ['apple', 'banana', 'grapes', 'mango', 'orange'];
/**
* Array filters items based on search criteria (query)
@@ -156,7 +156,7 @@ console.log(filterItems('an')); // ['banana', 'mango', 'orange']
<p><code>filter</code> 被添加到 ECMA-262 标准第 5 版中,因此在某些实现环境中不被支持。可以把下面的代码插入到脚本的开头来解决此问题,该代码允许在那些没有原生支持 <code>filter</code> 的实现环境中使用它。该算法是 ECMA-262 第 5 版中指定的算法,假定 <code>fn.call</code> 等价于 {{jsxref("Function.prototype.call")}} 的初始值,且 {{jsxref("Array.prototype.push")}} 拥有它的初始值。</p>
-<pre class="brush: js notranslate">if (!Array.prototype.filter){
+<pre class="brush: js">if (!Array.prototype.filter){
Array.prototype.filter = function(func, thisArg) {
'use strict';
if ( ! ((typeof func === 'Function' || typeof func === 'function') &amp;&amp; this) )
diff --git a/files/zh-cn/web/javascript/reference/global_objects/array/findindex/index.html b/files/zh-cn/web/javascript/reference/global_objects/array/findindex/index.html
index 7b1e3c7143..b0c8967e8e 100644
--- a/files/zh-cn/web/javascript/reference/global_objects/array/findindex/index.html
+++ b/files/zh-cn/web/javascript/reference/global_objects/array/findindex/index.html
@@ -20,7 +20,7 @@ translation_of: Web/JavaScript/Reference/Global_Objects/Array/findIndex
<h2 id="Syntax" name="Syntax">语法</h2>
-<pre class="syntaxbox notranslate"><code><em>arr</em>.findIndex(<em>callback</em>[, <em>thisArg</em>])</code></pre>
+<pre class="syntaxbox"><code><em>arr</em>.findIndex(<em>callback</em>[, <em>thisArg</em>])</code></pre>
<h3 id="Parameters" name="Parameters">参数</h3>
@@ -62,7 +62,7 @@ translation_of: Web/JavaScript/Reference/Global_Objects/Array/findIndex
<p>以下示例查找数组中素数的元素的索引(如果不存在素数,则返回-1)。</p>
-<pre class="brush: js notranslate">function isPrime(element, index, array) {
+<pre class="brush: js">function isPrime(element, index, array) {
var start = 2;
while (start &lt;= Math.sqrt(element)) {
if (element % start++ &lt; 1) {
@@ -77,7 +77,7 @@ console.log([4, 6, 7, 12].findIndex(isPrime)); // 2</pre>
<h2 id="Polyfill">Polyfill</h2>
-<pre class="brush: js notranslate">// https://tc39.github.io/ecma262/#sec-array.prototype.findIndex
+<pre class="brush: js">// https://tc39.github.io/ecma262/#sec-array.prototype.findIndex
if (!Array.prototype.findIndex) {
Object.defineProperty(Array.prototype, 'findIndex', {
value: function(predicate) {
diff --git a/files/zh-cn/web/javascript/reference/global_objects/array/flat/index.html b/files/zh-cn/web/javascript/reference/global_objects/array/flat/index.html
index 2f37e8f49b..f6a9420e21 100644
--- a/files/zh-cn/web/javascript/reference/global_objects/array/flat/index.html
+++ b/files/zh-cn/web/javascript/reference/global_objects/array/flat/index.html
@@ -19,7 +19,7 @@ translation_of: Web/JavaScript/Reference/Global_Objects/Array/flat
<h2 id="语法">语法</h2>
-<pre class="syntaxbox notranslate"><var>var newArray = arr</var>.flat([<var>depth]</var>)</pre>
+<pre class="syntaxbox"><var>var newArray = arr</var>.flat([<var>depth]</var>)</pre>
<h3 id="参数">参数</h3>
@@ -36,7 +36,7 @@ translation_of: Web/JavaScript/Reference/Global_Objects/Array/flat
<h3 id="扁平化嵌套数组">扁平化嵌套数组</h3>
-<pre class="notranslate">var arr1 = [1, 2, [3, 4]];
+<pre>var arr1 = [1, 2, [3, 4]];
arr1.flat();
// [1, 2, 3, 4]
@@ -57,7 +57,7 @@ arr4.flat(Infinity);
<p><code>flat()</code> 方法会移除数组中的空项:</p>
-<pre class="brush: js notranslate">var arr4 = [1, 2, , 4, 5];
+<pre class="brush: js">var arr4 = [1, 2, , 4, 5];
arr4.flat();
// [1, 2, 4, 5]</pre>
@@ -65,7 +65,7 @@ arr4.flat();
<h3 id="使用_reduce_与_concat">使用 <code>reduce</code> 与 <code>concat</code></h3>
-<pre class="notranslate"><code>var arr = [1, 2, [3, 4]];
+<pre><code>var arr = [1, 2, [3, 4]];
// 展开一层数组
arr.flat();
@@ -78,7 +78,7 @@ const flattened = arr =&gt; [].concat(...arr);</code></pre>
<h3 class="brush: js" id="reduce_concat_isArray_recursivity">reduce + concat + isArray + recursivity</h3>
-<pre class="brush: js notranslate"><code>// 使用 reduce、concat 和递归展开无限多层嵌套的数组
+<pre class="brush: js"><code>// 使用 reduce、concat 和递归展开无限多层嵌套的数组
var arr1 = [1,2,3,[1,2,3,4, [2,3,4]]];
</code>
<code class="language-js">function flatDeep(arr, d = 1) {
@@ -91,7 +91,7 @@ flatDeep(arr1, Infinity);
<h3 id="forEachisArraypushrecursivity">forEach+isArray+push+recursivity</h3>
-<pre class="brush: js notranslate">// forEach 遍历数组会自动跳过空元素
+<pre class="brush: js">// forEach 遍历数组会自动跳过空元素
const eachFlat = (arr = [], depth = 1) =&gt; {
  const result = []; // 缓存递归结果
  // 开始递归
@@ -131,7 +131,7 @@ const forFlat = (arr = [], depth = 1) =&gt; {
<h3 id="使用堆栈stack">使用堆栈stack</h3>
-<pre class="notranslate">// 无递归数组扁平化,使用堆栈
+<pre>// 无递归数组扁平化,使用堆栈
// 注意:深度的控制比较低效,因为需要检查每一个值的深度
// 也可能在 shift / unshift 上进行 w/o 反转,但是末端的数组 OPs 更快
var arr1 = [1,2,3,[1,2,3,4, [2,3,4]]];
@@ -153,7 +153,7 @@ function flatten(input) {
}
flatten(arr1);// [1, 2, 3, 1, 2, 3, 4, 2, 3, 4]</pre>
-<pre class="notranslate">// 递归版本的反嵌套
+<pre>// 递归版本的反嵌套
function flatten(array) {
var flattend = [];
(function flat(array) {
@@ -167,7 +167,7 @@ function flatten(array) {
<h3 id="Use_Generator_function">Use <code>Generator</code> function</h3>
-<pre class="notranslate"><code>function* flatten(array) {
+<pre><code>function* flatten(array) {
for (const item of array) {
if (Array.isArray(item)) {
yield* flatten(item);
diff --git a/files/zh-cn/web/javascript/reference/global_objects/array/flatmap/index.html b/files/zh-cn/web/javascript/reference/global_objects/array/flatmap/index.html
index 50c75a73ab..8383d4be6a 100644
--- a/files/zh-cn/web/javascript/reference/global_objects/array/flatmap/index.html
+++ b/files/zh-cn/web/javascript/reference/global_objects/array/flatmap/index.html
@@ -19,7 +19,7 @@ translation_of: Web/JavaScript/Reference/Global_Objects/Array/flatMap
<h2 id="语法">语法</h2>
-<pre class="syntaxbox notranslate"><var>var new_array = arr</var>.flatMap(function <var>callback(currentValue[, index[, array]]) {
+<pre class="syntaxbox"><var>var new_array = arr</var>.flatMap(function <var>callback(currentValue[, index[, array]]) {
// return element for new_array
}</var>[, <var>thisArg</var>])</pre>
@@ -54,7 +54,7 @@ translation_of: Web/JavaScript/Reference/Global_Objects/Array/flatMap
<h3 id="map_与_flatMap"><code>map()</code> 与 <code>flatMap()</code></h3>
-<pre class="brush: js notranslate">var arr1 = [1, 2, 3, 4];
+<pre class="brush: js">var arr1 = [1, 2, 3, 4];
arr1.map(x =&gt; [x * 2]);
// [[2], [4], [6], [8]]
@@ -70,7 +70,7 @@ arr1.flatMap(x =&gt; [[x * 2]]);
<p>所以,为了更好的展示 flatMap 的作用,下面我们将包含几句话的数组拆分成单个词组成的新数组。</p>
-<pre class="notranslate"><code>let arr1 = ["it's Sunny in", "", "California"];
+<pre><code>let arr1 = ["it's Sunny in", "", "California"];
arr1.map(x =&gt; x.split(" "));
// [["it's","Sunny","in"],[""],["California"]]
@@ -84,7 +84,7 @@ arr1.flatMap(x =&gt; x.split(" "));
<p><code>flatMap</code> 能用于在map期间增删项目(也就是修改items的数量)。换句话说,它允许你遍历很多项使之成为另一些项(靠分别把它们放进去来处理),而不是总是一对一。 从这个意义上讲,它的作用类似于 <a href="/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/filter">filter</a>的对立面。只需返回一个1项元素数组以保留该项,返回一个多元素数组以添加项,或返回一个0项元素数组以删除该项。</p>
-<pre class="notranslate"><code>// Let's say we want to remove all the negative numbers and split the odd numbers into an even number and a 1
+<pre><code>// Let's say we want to remove all the negative numbers and split the odd numbers into an even number and a 1
let a = [5, 4, -3, 20, 17, -33, -4, 18]
// |\ \ x | | \ x x |
// [4,1, 4, 20, 16, 1, 18]
@@ -101,7 +101,7 @@ a.flatMap( (n) =&gt;
<h3 id="reduce_与_concat"><code>reduce()</code> 与 <code>concat()</code></h3>
-<pre class="notranslate"><code>var arr = [1, 2, 3, 4];
+<pre><code>var arr = [1, 2, 3, 4];
arr.flatMap(x =&gt; [x, x * 2]);
// is equivalent to
diff --git a/files/zh-cn/web/javascript/reference/global_objects/array/from/index.html b/files/zh-cn/web/javascript/reference/global_objects/array/from/index.html
index 8cab100d7c..01b6062f91 100644
--- a/files/zh-cn/web/javascript/reference/global_objects/array/from/index.html
+++ b/files/zh-cn/web/javascript/reference/global_objects/array/from/index.html
@@ -22,7 +22,7 @@ translation_of: Web/JavaScript/Reference/Global_Objects/Array/from
<h2 id="语法">语法</h2>
-<pre class="syntaxbox notranslate">Array.from(<em>arrayLike</em>[, <em>mapFn</em>[, <em>thisArg</em>]])
+<pre class="syntaxbox">Array.from(<em>arrayLike</em>[, <em>mapFn</em>[, <em>thisArg</em>]])
</pre>
<h3 id="参数">参数</h3>
@@ -59,18 +59,18 @@ translation_of: Web/JavaScript/Reference/Global_Objects/Array/from
<h3 id="从_String_生成数组">从 <code>String</code> 生成数组</h3>
-<pre class="brush: js notranslate">Array.from('foo');
+<pre class="brush: js">Array.from('foo');
// [ "f", "o", "o" ]</pre>
<h3 id="从_Set_生成数组">从 <code>Set</code> 生成数组</h3>
-<pre class="brush: js notranslate">const set = new Set(['foo', 'bar', 'baz', 'foo']);
+<pre class="brush: js">const set = new Set(['foo', 'bar', 'baz', 'foo']);
Array.from(set);
// [ "foo", "bar", "baz" ]</pre>
<h3 id="从_Map_生成数组">从 <code>Map</code> 生成数组</h3>
-<pre class="brush: js notranslate">const map = new Map([[1, 2], [2, 4], [4, 8]]);
+<pre class="brush: js">const map = new Map([[1, 2], [2, 4], [4, 8]]);
Array.from(map);
// [[1, 2], [2, 4], [4, 8]]
@@ -84,7 +84,7 @@ Array.from(mapper.keys());
<h3 id="从类数组对象(arguments)生成数组">从类数组对象(arguments)生成数组</h3>
-<pre class="brush: js notranslate">function f() {
+<pre class="brush: js">function f() {
return Array.from(arguments);
}
@@ -94,7 +94,7 @@ f(1, 2, 3);
<h3 id="在_Array.from_中使用箭头函数">在 <code>Array.from</code> 中使用箭头函数</h3>
-<pre class="brush: js notranslate">// Using an arrow function as the map function to
+<pre class="brush: js">// Using an arrow function as the map function to
// manipulate the elements
Array.from([1, 2, 3], x =&gt; x + x);
// [2, 4, 6]
@@ -109,7 +109,7 @@ Array.from({length: 5}, (v, i) =&gt; i);
<h3 id="序列生成器指定范围">序列生成器(指定范围)</h3>
-<pre class="brush: js notranslate">// Sequence generator function (commonly referred to as "range", e.g. Clojure, PHP etc)
+<pre class="brush: js">// Sequence generator function (commonly referred to as "range", e.g. Clojure, PHP etc)
const range = (start, stop, step) =&gt; Array.from({ length: (stop - start) / step + 1}, (_, i) =&gt; start + (i * step));
// Generate numbers range 0..4
@@ -127,7 +127,7 @@ range('A'.charCodeAt(0), 'Z'.charCodeAt(0), 1).map(x =&gt; String.fromCharCode(x
<h3 id="数组去重合并">数组去重合并</h3>
-<pre class="brush: js notranslate">function combine(){
+<pre class="brush: js">function combine(){
let arr = [].concat.apply([], arguments); //没有去重复的新数组
return Array.from(new Set(arr));
}
@@ -139,7 +139,7 @@ console.log(combine(m,n)); // [1, 2, 3]</pre>
<p>ECMA-262 第六版标准中添加了 <code>Array.from </code>。有些实现中可能尚未包括在其中。你可以通过在脚本前添加如下内容作为替代方法,以使用未原生支持的 <code>Array.from</code> 方法。该算法按照 ECMA-262 第六版中的规范实现,并假定 <code>Object</code> 和 <code>TypeError</code> 有其本身的值, <code>callback.call</code> 对应 {{jsxref("Function.prototype.call")}} 。此外,鉴于无法使用 Polyfill 实现真正的的迭代器,该实现不支持规范中定义的泛型可迭代元素。</p>
-<pre class="brush: js notranslate">// Production steps of ECMA-262, Edition 6, 22.1.2.1
+<pre class="brush: js">// Production steps of ECMA-262, Edition 6, 22.1.2.1
if (!Array.from) {
Array.from = (function () {
var toStr = Object.prototype.toString;
diff --git a/files/zh-cn/web/javascript/reference/global_objects/array/map/index.html b/files/zh-cn/web/javascript/reference/global_objects/array/map/index.html
index b00ce5df07..1517622c81 100644
--- a/files/zh-cn/web/javascript/reference/global_objects/array/map/index.html
+++ b/files/zh-cn/web/javascript/reference/global_objects/array/map/index.html
@@ -20,7 +20,7 @@ translation_of: Web/JavaScript/Reference/Global_Objects/Array/map
<h2 id="Syntax" name="Syntax">语法</h2>
-<pre class="notranslate"><var>var new_array = arr</var>.map(function <var>callback(currentValue[, index[, array]]) {
+<pre><var>var new_array = arr</var>.map(function <var>callback(currentValue[, index[, array]]) {
// Return element for new_array </var>
<var>}</var>[, <var>thisArg</var>])</pre>
@@ -68,7 +68,7 @@ translation_of: Web/JavaScript/Reference/Global_Objects/Array/map
<p>下面的代码创建了一个新数组,值为原数组中对应数字的平方根。</p>
-<pre class="brush: js notranslate">var numbers = [1, 4, 9];
+<pre class="brush: js">var numbers = [1, 4, 9];
var roots = numbers.map(Math.sqrt);
// roots的值为[1, 2, 3], numbers的值仍为[1, 4, 9]</pre>
@@ -76,7 +76,7 @@ var roots = numbers.map(Math.sqrt);
<p>以下代码使用一个包含对象的数组来重新创建一个格式化后的数组。</p>
-<pre class="brush: js notranslate">var kvArray = [{key: 1, value: 10},
+<pre class="brush: js">var kvArray = [{key: 1, value: 10},
{key: 2, value: 20},
{key: 3, value: 30}];
@@ -98,7 +98,7 @@ var reformattedArray = kvArray.map(function(obj) {
<p>下面的代码表示了当函数需要一个参数时map的工作方式。当map循环遍历原始数组时,这个参数会自动被分配成数组中对应的每个元素。</p>
-<pre class="brush: js notranslate">var numbers = [1, 4, 9];
+<pre class="brush: js">var numbers = [1, 4, 9];
var doubles = numbers.map(function(num) {
return num * 2;
});
@@ -110,7 +110,7 @@ var doubles = numbers.map(function(num) {
<p>下面的例子演示如何在一个 {{jsxref("String")}}  上使用 map 方法获取字符串中每个字符所对应的 ASCII 码组成的数组:</p>
-<pre class="brush: js notranslate">var map = Array.prototype.map
+<pre class="brush: js">var map = Array.prototype.map
var a = map.call("Hello World", function(x) {
  return x.charCodeAt(0);
})
@@ -121,7 +121,7 @@ var a = map.call("Hello World", function(x) {
<p>下面代码展示了如何去遍历用 <code>querySelectorAll </code>得到的动态对象集合。在这里,我们获得了文档里所有选中的选项,并将其打印:</p>
-<pre class="brush: js notranslate">var elems = document.querySelectorAll('select option:checked');
+<pre class="brush: js">var elems = document.querySelectorAll('select option:checked');
var values = Array.prototype.map.call(elems, function(obj) {
return obj.value;
});
@@ -135,7 +135,7 @@ var values = Array.prototype.map.call(elems, function(obj) {
<p>考虑下例:</p>
-<pre class="notranslate"><code>["1", "2", "3"].map(parseInt);</code></pre>
+<pre><code>["1", "2", "3"].map(parseInt);</code></pre>
<p>我们期望输出 <code>[1, 2, 3]</code>, 而实际结果是 <code>[1, NaN, NaN]</code>.</p>
@@ -149,14 +149,14 @@ var values = Array.prototype.map.call(elems, function(obj) {
<p>第三个参数被parseInt忽视了, <u>but not the second one</u>, 但不是第二个。因此可能出现混淆。下面是迭代步骤的简明示例:</p>
-<pre class="notranslate"><code>// parseInt(string, radix) -&gt; map(parseInt(value, index))
+<pre><code>// parseInt(string, radix) -&gt; map(parseInt(value, index))
/* first iteration (index is 0): */ parseInt("1", 0); // 1
/* second iteration (index is 1): */ parseInt("2", 1); // NaN
/* third iteration (index is 2): */ parseInt("3", 2); // NaN</code></pre>
<p>下面让我们来讨论解决方案:</p>
-<pre class="notranslate"><code>function returnInt(element) {
+<pre><code>function returnInt(element) {
return parseInt(element, 10);
}
@@ -176,7 +176,7 @@ var values = Array.prototype.map.call(elems, function(obj) {
<p>一个map方法调用 parseInt 作为一个参数的等效输出运行如下:</p>
-<pre class="notranslate"><code>var xs = ['10', '10', '10'];
+<pre><code>var xs = ['10', '10', '10'];
xs = xs.map(parseInt);
@@ -187,7 +187,7 @@ console.log(xs); // 输出结果为</code>(3) [10, NaN, 2]<code>
<p>当返回undefined 或没有返回任何内容时:</p>
-<pre class="notranslate"><code>var numbers = [1, 2, 3, 4];
+<pre><code>var numbers = [1, 2, 3, 4];
var filteredNumbers = numbers.map(function(num, index) {
if(index &lt; 3) {
return num;
@@ -201,7 +201,7 @@ var filteredNumbers = numbers.map(function(num, index) {
<p><code>map</code> was added to the ECMA-262 standard in the 5th edition; as such it may not be present in all implementations of the standard. You can work around this by inserting the following code at the beginning of your scripts, allowing use of <code>map</code> in implementations which do not natively support it. This algorithm is exactly the one specified in ECMA-262, 5th edition, assuming {{jsxref("Object")}}, {{jsxref("TypeError")}}, and {{jsxref("Array")}} have their original values and that <code>callback.call</code> evaluates to the original value of <code>{{jsxref("Function.prototype.call")}}</code>.</p>
-<pre class="notranslate"><code>// Production steps of ECMA-262, Edition 5, 15.4.4.19
+<pre><code>// Production steps of ECMA-262, Edition 5, 15.4.4.19
// Reference: http://es5.github.io/#x15.4.4.19
if (!Array.prototype.map) {
diff --git a/files/zh-cn/web/javascript/reference/global_objects/array/reduce/index.html b/files/zh-cn/web/javascript/reference/global_objects/array/reduce/index.html
index f356bceaf6..cc217e28af 100644
--- a/files/zh-cn/web/javascript/reference/global_objects/array/reduce/index.html
+++ b/files/zh-cn/web/javascript/reference/global_objects/array/reduce/index.html
@@ -36,7 +36,7 @@ translation_of: Web/JavaScript/Reference/Global_Objects/Array/Reduce
<h2 id="语法">语法</h2>
-<pre class="notranslate"><var>arr.reduce(callback(accumulator, currentValue[, index[, array]])[, initialValue])</var></pre>
+<pre><var>arr.reduce(callback(accumulator, currentValue[, index[, array]])[, initialValue])</var></pre>
<h3 id="参数">参数</h3>
@@ -89,7 +89,7 @@ translation_of: Web/JavaScript/Reference/Global_Objects/Array/Reduce
<p>提供初始值通常更安全,正如下面的例子,如果没有提供<code>initialValue</code>,则可能有四种输出:</p>
-<pre class="brush: js notranslate">var maxCallback = ( acc, cur ) =&gt; Math.max( acc.x, cur.x );
+<pre class="brush: js">var maxCallback = ( acc, cur ) =&gt; Math.max( acc.x, cur.x );
var maxCallback2 = ( max, cur ) =&gt; Math.max( max, cur );
// reduce() 没有初始值
@@ -107,7 +107,7 @@ var maxCallback2 = ( max, cur ) =&gt; Math.max( max, cur );
<p>假如运行下段<code>reduce()</code>代码:</p>
-<pre class="brush:js notranslate">[0, 1, 2, 3, 4].reduce(function(accumulator, currentValue, currentIndex, array){
+<pre class="brush:js">[0, 1, 2, 3, 4].reduce(function(accumulator, currentValue, currentIndex, array){
return accumulator + currentValue;
});
</pre>
@@ -172,11 +172,11 @@ var maxCallback2 = ( max, cur ) =&gt; Math.max( max, cur );
<p>你还可以使用{{jsxref("Functions/Arrow_functions", "箭头函数","",1)}}来代替完整的函数。 下面的代码将产生与上面的代码相同的输出:</p>
-<pre class="brush: js notranslate">[0, 1, 2, 3, 4].reduce((prev, curr) =&gt; prev + curr );</pre>
+<pre class="brush: js">[0, 1, 2, 3, 4].reduce((prev, curr) =&gt; prev + curr );</pre>
<p>如果你打算提供一个初始值作为<code>reduce()</code>方法的第二个参数,以下是运行过程及结果:</p>
-<pre class="brush: js notranslate">[0, 1, 2, 3, 4].reduce((accumulator, currentValue, currentIndex, array) =&gt; {
+<pre class="brush: js">[0, 1, 2, 3, 4].reduce((accumulator, currentValue, currentIndex, array) =&gt; {
return accumulator + currentValue
}, 10)
</pre>
@@ -332,14 +332,14 @@ var maxCallback2 = ( max, cur ) =&gt; Math.max( max, cur );
<h3 id="数组里所有值的和">数组里所有值的和</h3>
-<pre class="brush: js notranslate">var sum = [0, 1, 2, 3].reduce(function (accumulator, currentValue) {
+<pre class="brush: js">var sum = [0, 1, 2, 3].reduce(function (accumulator, currentValue) {
return accumulator + currentValue;
}, 0);
// 和为 6</pre>
<p>你也可以写成箭头函数的形式:</p>
-<pre class="brush: js notranslate">var total = [ 0, 1, 2, 3 ].reduce(
+<pre class="brush: js">var total = [ 0, 1, 2, 3 ].reduce(
( acc, cur ) =&gt; acc + cur,
0
);</pre>
@@ -348,7 +348,7 @@ var maxCallback2 = ( max, cur ) =&gt; Math.max( max, cur );
<p>要累加对象数组中包含的值,必须提供初始值,以便各个item正确通过你的函数。</p>
-<pre class="brush: js notranslate">var initialValue = 0;
+<pre class="brush: js">var initialValue = 0;
var sum = [{x: 1}, {x:2}, {x:3}].reduce(function (accumulator, currentValue) {
return accumulator + currentValue.x;
},initialValue)
@@ -357,7 +357,7 @@ console.log(sum) // logs 6</pre>
<p>你也可以写成箭头函数的形式:</p>
-<pre class="brush: js notranslate">var initialValue = 0;
+<pre class="brush: js">var initialValue = 0;
var sum = [{x: 1}, {x:2}, {x:3}].reduce(
(accumulator, currentValue) =&gt; accumulator + currentValue.x
,initialValue
@@ -368,7 +368,7 @@ console.log(sum) // logs 6
<h3 id="将二维数组转化为一维">将二维数组转化为一维</h3>
-<pre class="brush: js notranslate">var flattened = [[0, 1], [2, 3], [4, 5]].reduce(
+<pre class="brush: js">var flattened = [[0, 1], [2, 3], [4, 5]].reduce(
function(a, b) {
return a.concat(b);
},
@@ -379,7 +379,7 @@ console.log(sum) // logs 6
<p>你也可以写成箭头函数的形式:</p>
-<pre class="brush: js notranslate">var flattened = [[0, 1], [2, 3], [4, 5]].reduce(
+<pre class="brush: js">var flattened = [[0, 1], [2, 3], [4, 5]].reduce(
( acc, cur ) =&gt; acc.concat(cur),
[]
);
@@ -388,7 +388,7 @@ console.log(sum) // logs 6
<h3 id="计算数组中每个元素出现的次数">计算数组中每个元素出现的次数</h3>
-<pre class="brush: js notranslate">var names = ['Alice', 'Bob', 'Tiff', 'Bruce', 'Alice'];
+<pre class="brush: js">var names = ['Alice', 'Bob', 'Tiff', 'Bruce', 'Alice'];
var countedNames = names.reduce(function (allNames, name) {
if (name in allNames) {
@@ -404,7 +404,7 @@ var countedNames = names.reduce(function (allNames, name) {
<h3 id="按属性对object分类">按属性对object分类</h3>
-<pre class="brush: js notranslate">var people = [
+<pre class="brush: js">var people = [
{ name: 'Alice', age: 21 },
{ name: 'Max', age: 20 },
{ name: 'Jane', age: 20 }
@@ -434,7 +434,7 @@ var groupedPeople = groupBy(people, 'age');
<h3 id="使用扩展运算符和initialValue绑定包含在对象数组中的数组">使用扩展运算符和initialValue绑定包含在对象数组中的数组</h3>
-<pre class="brush: js notranslate">// friends - 对象数组
+<pre class="brush: js">// friends - 对象数组
// where object field "books" - list of favorite books
var friends = [{
name: 'Anna',
@@ -469,7 +469,7 @@ var allbooks = friends.reduce(function(prev, curr) {
<p>注意: 如果你正在使用一个可以兼容{{jsxref("Set")}} 和 {{jsxref("Array.from()")}} 的环境, 你可以使用<code>let orderedArray = Array.from(new Set(myArray));</code> 来获得一个相同元素被移除的数组。</p>
</div>
-<pre class="brush: js notranslate">let myArray = ['a', 'b', 'a', 'b', 'c', 'e', 'e', 'c', 'd', 'd', 'd', 'd']
+<pre class="brush: js">let myArray = ['a', 'b', 'a', 'b', 'c', 'e', 'e', 'c', 'd', 'd', 'd', 'd']
let myOrderedArray = myArray.reduce(function (accumulator, currentValue) {
if (accumulator.indexOf(currentValue) === -1) {
accumulator.push(currentValue)
@@ -479,7 +479,7 @@ let myOrderedArray = myArray.reduce(function (accumulator, currentValue) {
console.log(myOrderedArray)</pre>
-<pre class="brush: js notranslate">let arr = [1,2,1,2,3,5,4,5,3,4,4,4,4];
+<pre class="brush: js">let arr = [1,2,1,2,3,5,4,5,3,4,4,4,4];
let result = arr.sort().reduce((init, current) =&gt; {
if(init.length === 0 || init[init.length-1] !== current) {
  init.push(current);
@@ -490,7 +490,7 @@ console.log(result); //[1,2,3,4,5]</pre>
<h3 id="按顺序运行Promise">按顺序运行Promise</h3>
-<pre class="brush: js notranslate">/**
+<pre class="brush: js">/**
* Runs promises from array of functions that can return promises
* in chained manner
*
@@ -537,7 +537,7 @@ runPromiseInSequence(promiseArr, 10)
<h3 id="功能型函数管道">功能型函数管道</h3>
-<pre class="brush: js notranslate">// Building-blocks to use for composition
+<pre class="brush: js">// Building-blocks to use for composition
const double = x =&gt; x + x;
const triple = x =&gt; 3 * x;
const quadruple = x =&gt; 4 * x;
@@ -563,7 +563,7 @@ multiply24(10); // 240
<h3 id="使用_reduce实现map">使用 reduce实现map</h3>
-<pre class="brush: js notranslate">if (!Array.prototype.mapUsingReduce) {
+<pre class="brush: js">if (!Array.prototype.mapUsingReduce) {
Array.prototype.mapUsingReduce = function(callback, thisArg) {
return this.reduce(function(mappedArray, currentValue, index, array) {
mappedArray[index] = callback.call(thisArg, currentValue, index, array)
@@ -579,7 +579,7 @@ multiply24(10); // 240
<h2 id="Polyfill">Polyfill</h2>
-<pre class="brush: js notranslate">// Production steps of ECMA-262, Edition 5, 15.4.4.21
+<pre class="brush: js">// Production steps of ECMA-262, Edition 5, 15.4.4.21
// Reference: http://es5.github.io/#x15.4.4.21
// https://tc39.github.io/ecma262/#sec-array.prototype.reduce
if (!Array.prototype.reduce) {
diff --git a/files/zh-cn/web/javascript/reference/global_objects/array/reduceright/index.html b/files/zh-cn/web/javascript/reference/global_objects/array/reduceright/index.html
index 94ef4c7602..1245486db3 100644
--- a/files/zh-cn/web/javascript/reference/global_objects/array/reduceright/index.html
+++ b/files/zh-cn/web/javascript/reference/global_objects/array/reduceright/index.html
@@ -20,7 +20,7 @@ translation_of: Web/JavaScript/Reference/Global_Objects/Array/ReduceRight
<h2 id="语法">语法</h2>
-<pre class="syntaxbox notranslate"><var>arr.reduceRight(callback(accumulator, currentValue[, index[, array]])[, initialValue])</var></pre>
+<pre class="syntaxbox"><var>arr.reduceRight(callback(accumulator, currentValue[, index[, array]])[, initialValue])</var></pre>
<h3 id="参数">参数</h3>
@@ -55,7 +55,7 @@ translation_of: Web/JavaScript/Reference/Global_Objects/Array/ReduceRight
<p>可以像下面这样调用 <code>reduceRight</code> 的回调函数 <code>callback</code>:</p>
-<pre class="brush: js notranslate">array.reduceRight(function(accumulator, currentValue, index, array) {
+<pre class="brush: js">array.reduceRight(function(accumulator, currentValue, index, array) {
// ...
});</pre>
@@ -111,7 +111,7 @@ translation_of: Web/JavaScript/Reference/Global_Objects/Array/ReduceRight
<p>该函数的完整执行过程见下例:</p>
-<pre class="brush: js notranslate">[0, 1, 2, 3, 4].reduceRight(function(previousValue, currentValue, index, array) {
+<pre class="brush: js">[0, 1, 2, 3, 4].reduceRight(function(previousValue, currentValue, index, array) {
return previousValue + currentValue;
});
</pre>
@@ -169,7 +169,7 @@ translation_of: Web/JavaScript/Reference/Global_Objects/Array/ReduceRight
<p>如果提供了一个 <code>initialValue</code> 参数,则结果如下:</p>
-<pre class="brush: js notranslate">[0, 1, 2, 3, 4].reduceRight(function(previousValue, currentValue, index, array) {
+<pre class="brush: js">[0, 1, 2, 3, 4].reduceRight(function(previousValue, currentValue, index, array) {
return previousValue + currentValue;
}, 10);
</pre>
@@ -235,14 +235,14 @@ translation_of: Web/JavaScript/Reference/Global_Objects/Array/ReduceRight
<h3 id="求一个数组中所有值的和">求一个数组中所有值的和</h3>
-<pre class="brush: js notranslate">var sum = [0, 1, 2, 3].reduceRight(function(a, b) {
+<pre class="brush: js">var sum = [0, 1, 2, 3].reduceRight(function(a, b) {
return a + b;
});
// sum is 6</pre>
<h3 id="扁平化(flatten)一个二维数组">扁平化(flatten)一个二维数组</h3>
-<pre class="brush: js notranslate">var flattened = [[0, 1], [2, 3], [4, 5]].reduceRight(function(a, b) {
+<pre class="brush: js">var flattened = [[0, 1], [2, 3], [4, 5]].reduceRight(function(a, b) {
return a.concat(b);
}, []);
// flattened is [4, 5, 2, 3, 0, 1]
@@ -250,7 +250,7 @@ translation_of: Web/JavaScript/Reference/Global_Objects/Array/ReduceRight
<h3 id="运行一个带有回调每个函数将其结果传给下一个的异步函数列表">运行一个带有回调每个函数将其结果传给下一个的异步函数列表</h3>
-<pre class="brush: js notranslate">const waterfall = (...functions) =&gt; (callback, ...args) =&gt;
+<pre class="brush: js">const waterfall = (...functions) =&gt; (callback, ...args) =&gt;
functions.reduceRight(
(composition, fn) =&gt; (...results) =&gt; fn(composition, ...results),
callback
@@ -293,7 +293,7 @@ const computation2 = (input, callback) =&gt; {
<h3 id="展示_reduce_与_reduceRight_之间的区别">展示 <code>reduce</code> 与 <code>reduceRight</code> 之间的区别</h3>
-<pre class="brush: js notranslate">var a = ['1', '2', '3', '4', '5'];
+<pre class="brush: js">var a = ['1', '2', '3', '4', '5'];
var left = a.reduce(function(prev, cur) { return prev + cur; });
var right = a.reduceRight(function(prev, cur) { return prev + cur; });
@@ -304,7 +304,7 @@ console.log(right); // "54321"</pre>
<p>组合函数的概念简单,它只是简单地结合了多个函数。它是一个从右向左流动的函数,用上一个函数的输出调用每个函数。</p>
-<pre class="brush: js notranslate">/**
+<pre class="brush: js">/**
* Function Composition is way in which result of one function can
* be passed to another and so on.
*
@@ -333,7 +333,7 @@ console.log(compose(inc, double)(2)); // 5</pre>
<p><code>reduceRight</code> 被添加到 ECMA-262 标准第 5 版,因此它在某些实现环境中可能不被支持。把下面的代码添加到脚本开头可以解决此问题,从而允许在那些没有原生支持 <code>reduceRight</code> 的实现环境中使用它。</p>
-<pre class="brush: js notranslate">// Production steps of ECMA-262, Edition 5, 15.4.4.22
+<pre class="brush: js">// Production steps of ECMA-262, Edition 5, 15.4.4.22
// Reference: http://es5.github.io/#x15.4.4.22
if ('function' !== typeof Array.prototype.reduceRight) {
Array.prototype.reduceRight = function(callback /*, initialValue*/) {
diff --git a/files/zh-cn/web/javascript/reference/global_objects/array/slice/index.html b/files/zh-cn/web/javascript/reference/global_objects/array/slice/index.html
index eb68df4907..b69293d1db 100644
--- a/files/zh-cn/web/javascript/reference/global_objects/array/slice/index.html
+++ b/files/zh-cn/web/javascript/reference/global_objects/array/slice/index.html
@@ -20,7 +20,7 @@ translation_of: Web/JavaScript/Reference/Global_Objects/Array/slice
<h2 id="语法">语法</h2>
-<pre class="syntaxbox notranslate"><var>arr</var>.slice([<var>begin</var>[, <var>end</var>]])</pre>
+<pre class="syntaxbox"><var>arr</var>.slice([<var>begin</var>[, <var>end</var>]])</pre>
<h2 id="参数">参数</h2>
@@ -63,7 +63,7 @@ translation_of: Web/JavaScript/Reference/Global_Objects/Array/slice
<h3 id="返回现有数组的一部分">返回现有数组的一部分</h3>
-<pre class="brush: js notranslate">var fruits = ['Banana', 'Orange', 'Lemon', 'Apple', 'Mango'];
+<pre class="brush: js">var fruits = ['Banana', 'Orange', 'Lemon', 'Apple', 'Mango'];
var citrus = fruits.slice(1, 3);
// fruits contains ['Banana', 'Orange', 'Lemon', 'Apple', 'Mango']
@@ -78,7 +78,7 @@ var citrus = fruits.slice(1, 3);
<p>在下例中, <code>slice</code> 从 <code>myCar</code> 中创建了一个新数组<code>newCar</code>。两个数组都包含了一个 <code>myHonda</code> 对象的引用。当 <code>myHonda</code> 的 <code>color</code> 属性改变为 <code>purple</code>,则两个数组中的对应元素都会随之改变。</p>
-<pre class="brush: js notranslate">// 使用 slice 方法从 myCar 中创建一个 newCar。
+<pre class="brush: js">// 使用 slice 方法从 myCar 中创建一个 newCar。
var myHonda = { color: 'red', wheels: 4, engine: { cylinders: 4, size: 2.2 } };
var myCar = [myHonda, 2, "cherry condition", "purchased 1997"];
var newCar = myCar.slice(0, 2);
@@ -100,7 +100,7 @@ console.log('newCar[0].color = ' + newCar[0].color);
<p>上述代码输出:</p>
-<pre class="brush: js notranslate"> myCar = [{color: 'red', wheels: 4, engine: {cylinders: 4, size: 2.2}}, 2,
+<pre class="brush: js"> myCar = [{color: 'red', wheels: 4, engine: {cylinders: 4, size: 2.2}}, 2,
'cherry condition', 'purchased 1997']
newCar = [{color: 'red', wheels: 4, engine: {cylinders: 4, size: 2.2}}, 2]
myCar[0].color = red
@@ -114,7 +114,7 @@ newCar[0].color = purple
<p><code>slice</code> 方法可以用来将一个类数组(Array-like)对象/集合转换成一个新数组。你只需将该方法绑定到这个对象上。 一个函数中的  {{jsxref("Functions/arguments", "arguments")}} 就是一个类数组对象的例子。</p>
-<pre class="brush: js notranslate">function list() {
+<pre class="brush: js">function list() {
return Array.prototype.slice.call(arguments);
}
@@ -123,7 +123,7 @@ var list1 = list(1, 2, 3); // [1, 2, 3]
<p>除了使用 <code>Array.prototype.slice.call(</code><code>arguments</code><code>)</code>,你也可以简单的使用 <code>[].slice.call(arguments)</code> 来代替。另外,你可以使用 <code>bind</code> 来简化该过程。</p>
-<pre class="brush: js notranslate">var unboundSlice = Array.prototype.slice;
+<pre class="brush: js">var unboundSlice = Array.prototype.slice;
var slice = Function.prototype.call.bind(unboundSlice);
function list() {
@@ -137,7 +137,7 @@ var list1 = list(1, 2, 3); // [1, 2, 3]
<p>根据规范,使用 <code>Array.prototype.slice</code> 转换宿主对象(如 DOM 对象)时,不必遵循 Mozilla 的默认行为,即可以转化任何符合条件的伪数组宿主对象为数组,IE &lt; 9 没有遵循,而 IE9 + 遵循这个行为,但是稍加改造可以使其在跨浏览器使用时更可靠。只要其他现代浏览器继续支持该行为,目前 IE 9+、FireFox、Chrome、Safari 以及 Opera 都支持,开发者在使用下面代码时遍历 DOM 时就不会被该方法的字面意义误导,即 IE &lt; 9 不能转化 DOM Collections。开发者可以安全地根据语义知道该方法的实际上的标准行为。(下面的代码还修正了 IE 中 <code>slice()</code> 方法第二个参数不允许为显式的 {{jsxref("Global_Objects/null", "null")}}/{{jsxref("Global_Objects/undefined", "undefined")}} 值的问题,其他现代浏览器,包括 IE9+ 都允许)。</p>
-<pre class="brush: js notranslate">/**
+<pre class="brush: js">/**
* Shim for "fixing" IE's lack of support (IE &lt; 9) for applying slice
* on host objects like NamedNodeMap, NodeList, and HTMLCollection
* (technically, since host objects have been implementation-dependent,
diff --git a/files/zh-cn/web/javascript/reference/global_objects/array/values/index.html b/files/zh-cn/web/javascript/reference/global_objects/array/values/index.html
index 7af8b40436..d8cc03f53f 100644
--- a/files/zh-cn/web/javascript/reference/global_objects/array/values/index.html
+++ b/files/zh-cn/web/javascript/reference/global_objects/array/values/index.html
@@ -20,7 +20,7 @@ translation_of: Web/JavaScript/Reference/Global_Objects/Array/values
<h2 id="语法">语法</h2>
-<pre class="syntaxbox notranslate"><var>arr</var>.values()</pre>
+<pre class="syntaxbox"><var>arr</var>.values()</pre>
<h3 id="返回值">返回值</h3>
@@ -30,7 +30,7 @@ translation_of: Web/JavaScript/Reference/Global_Objects/Array/values
<h3 id="使用_for...of_循环进行迭代">使用 <code>for...of</code> 循环进行迭代</h3>
-<pre class="brush: js notranslate">let arr = ['w', 'y', 'k', 'o', 'p'];
+<pre class="brush: js">let arr = ['w', 'y', 'k', 'o', 'p'];
let eArr = arr.values();
for (let letter of eArr) {
@@ -39,11 +39,11 @@ for (let letter of eArr) {
<p><strong>Array.prototype.values</strong> 是 <strong>Array.prototype[Symbol.iterator] </strong>的默认实现。</p>
-<pre class="notranslate">Array.prototype.values === Array.prototype[Symbol.iterator] // true </pre>
+<pre>Array.prototype.values === Array.prototype[Symbol.iterator] // true </pre>
<h3 id="使用_.next_迭代">使用 <code>.next()</code> 迭代</h3>
-<pre class="notranslate">var arr = ['a', 'b', 'c', 'd', 'e'];
+<pre>var arr = ['a', 'b', 'c', 'd', 'e'];
var iterator = arr.values();
iterator.next(); // Object { value: "a", done: false }
iterator.next().value; // "b"
@@ -59,7 +59,7 @@ iterator.next().value; // undefined</pre>
<p>例子:</p>
-<pre class="notranslate">var arr = ['a', 'b', 'c', 'd', 'e'];
+<pre>var arr = ['a', 'b', 'c', 'd', 'e'];
var iterator = arr.values();
for (let letter of iterator) {
console.log(letter);
@@ -72,7 +72,7 @@ console.log(letter);
<p><strong>值</strong>: 数组迭代器中存储的是原数组的地址,而不是数组元素值。</p>
-<pre class="notranslate">var arr = ['a', 'b', 'c', 'd', 'e'];
+<pre>var arr = ['a', 'b', 'c', 'd', 'e'];
var iterator = arr.values();
console.log(iterator); // Array Iterator { }
iterator.next().value; // "a"
diff --git a/files/zh-cn/web/javascript/reference/global_objects/arraybuffer/index.html b/files/zh-cn/web/javascript/reference/global_objects/arraybuffer/index.html
index 0dde8cd36a..f58f460328 100644
--- a/files/zh-cn/web/javascript/reference/global_objects/arraybuffer/index.html
+++ b/files/zh-cn/web/javascript/reference/global_objects/arraybuffer/index.html
@@ -24,7 +24,7 @@ translation_of: Web/JavaScript/Reference/Global_Objects/ArrayBuffer
<h2 id="语法">语法</h2>
-<pre class="syntaxbox notranslate">new ArrayBuffer(length)
+<pre class="syntaxbox">new ArrayBuffer(length)
</pre>
<h3 id="参数">参数</h3>
@@ -104,7 +104,7 @@ translation_of: Web/JavaScript/Reference/Global_Objects/ArrayBuffer
<p>下面的例子创建了一个 8 字节的缓冲区,并使用一个 {{jsxref("Global_Objects/Int32Array", "Int32Array")}} 来引用它:</p>
-<pre class="notranslate"><code>var buffer = new ArrayBuffer(8);
+<pre><code>var buffer = new ArrayBuffer(8);
var view = new Int32Array(buffer);</code>
</pre>
@@ -143,11 +143,11 @@ var view = new Int32Array(buffer);</code>
<p>从 ECMAScript 2015 开始,<code>ArrayBuffer</code> 对象需要用 {{jsxref("Operators/new", "new")}} 运算符创建。如果调用构造函数时没有使用 <code>new</code>,将会抛出 {{jsxref("TypeError")}}  异常。</p>
-<pre class="brush: js example-bad notranslate">var dv = ArrayBuffer(10);
+<pre class="brush: js example-bad">var dv = ArrayBuffer(10);
// TypeError: calling a builtin ArrayBuffer constructor
// without new is forbidden</pre>
-<pre class="brush: js example-good notranslate">var dv = new ArrayBuffer(10);</pre>
+<pre class="brush: js example-good">var dv = new ArrayBuffer(10);</pre>
<h2 id="相关链接">相关链接</h2>
diff --git a/files/zh-cn/web/javascript/reference/global_objects/atomics/index.html b/files/zh-cn/web/javascript/reference/global_objects/atomics/index.html
index 838b6d8b99..2b3b3364a4 100644
--- a/files/zh-cn/web/javascript/reference/global_objects/atomics/index.html
+++ b/files/zh-cn/web/javascript/reference/global_objects/atomics/index.html
@@ -54,7 +54,7 @@ translation_of: Web/JavaScript/Reference/Global_Objects/Atomics
<h3 id="使用_Atomics">使用 Atomics</h3>
-<pre class="brush: js notranslate">const sab = new SharedArrayBuffer(1024);
+<pre class="brush: js">const sab = new SharedArrayBuffer(1024);
const ta = new Uint8Array(sab);
ta[0];
@@ -101,19 +101,19 @@ Atomics.load(ta, 0); // 4
<p>给定一个共享的 <code>Int32Array</code>:</p>
-<pre class="brush: js notranslate">const sab = new SharedArrayBuffer(1024);
+<pre class="brush: js">const sab = new SharedArrayBuffer(1024);
const int32 = new Int32Array(sab);
</pre>
<p>读取线程正在休眠并位置0上等待。只要该位置应为0,它就不会继续。但是,一旦写入线程存储了新值,写入线程将通知它并返回新值(123)。</p>
-<pre class="brush: js notranslate">Atomics.wait(int32, 0, 0);
+<pre class="brush: js">Atomics.wait(int32, 0, 0);
console.log(int32[0]); // 123
</pre>
<p>写入线程存储一个新值并再写入完成时通知等待线程:</p>
-<pre class="brush: js notranslate">console.log(int32[0]); // 0;
+<pre class="brush: js">console.log(int32[0]); // 0;
Atomics.store(int32, 0, 123);
Atomics.notify(int32, 0, 1);</pre>
diff --git a/files/zh-cn/web/javascript/reference/global_objects/atomics/notify/index.html b/files/zh-cn/web/javascript/reference/global_objects/atomics/notify/index.html
index bf2399192c..6459625463 100644
--- a/files/zh-cn/web/javascript/reference/global_objects/atomics/notify/index.html
+++ b/files/zh-cn/web/javascript/reference/global_objects/atomics/notify/index.html
@@ -18,7 +18,7 @@ translation_of: Web/JavaScript/Reference/Global_Objects/Atomics/notify
<h2 id="语法">语法</h2>
-<pre class="syntaxbox notranslate">Atomics.notify(typedArray, index, count)
+<pre class="syntaxbox">Atomics.notify(typedArray, index, count)
</pre>
<h3 id="参数">参数</h3>
@@ -47,18 +47,18 @@ translation_of: Web/JavaScript/Reference/Global_Objects/Atomics/notify
<p>分配一个共享的 <code>Int32Array</code>:</p>
-<pre class="brush: js notranslate">var sab = new SharedArrayBuffer(1024);
+<pre class="brush: js">var sab = new SharedArrayBuffer(1024);
var int32 = new Int32Array(sab);
</pre>
<p>一个读线程会进入休眠并监视索引0处的值(默认为0)。只要索引0处的值不为0,读进程就会唤醒。但是,一旦写进程存储了一个新的值,写进程就会产生一个提醒并返回写入后的新值(123)。(这里示例有问题或者说对初学者不友好,如果直接在浏览器控制台运行下面代码会报错,因为我们不能尝试睡眠主线程,可以见 <a href="https://github.com/lizhongzhen11/lizz-blog/issues/125#notice">重学js —— 结构化数据之Atomics对象</a>,同时我在 <strong>codepen </strong>写了一个示例:<a href="https://codepen.io/lizhongzhen11/project/editor/AmzyaY#">Atomics.wait使用示例</a>)</p>
-<pre class="brush: js notranslate">Atomics.wait(int32, 0, 0);
+<pre class="brush: js">Atomics.wait(int32, 0, 0);
console.log(int32[0]); // 123</pre>
<p>写进程写入一个新值并告知等待进程已经写入成功了:</p>
-<pre class="brush: js notranslate">console.log(int32[0]); // 0;
+<pre class="brush: js">console.log(int32[0]); // 0;
Atomics.store(int32, 0, 123);
Atomics.notify(int32, 0, 1);</pre>
diff --git a/files/zh-cn/web/javascript/reference/global_objects/bigint64array/index.html b/files/zh-cn/web/javascript/reference/global_objects/bigint64array/index.html
index 69b980e18b..23361908f2 100644
--- a/files/zh-cn/web/javascript/reference/global_objects/bigint64array/index.html
+++ b/files/zh-cn/web/javascript/reference/global_objects/bigint64array/index.html
@@ -111,7 +111,7 @@ translation_of: Web/JavaScript/Reference/Global_Objects/BigInt64Array
<h3 id="不同的方法去创建一个_BigInt64Array">不同的方法去创建一个 <code>BigInt64Array</code></h3>
-<pre class="brush: js notranslate">// From a length
+<pre class="brush: js">// From a length
var bigint64 = new BigInt64Array(2);
bigint64[0] = 42n;
console.log(bigint64[0]); // 42n
diff --git a/files/zh-cn/web/javascript/reference/global_objects/boolean/index.html b/files/zh-cn/web/javascript/reference/global_objects/boolean/index.html
index a236f20273..4101843056 100644
--- a/files/zh-cn/web/javascript/reference/global_objects/boolean/index.html
+++ b/files/zh-cn/web/javascript/reference/global_objects/boolean/index.html
@@ -19,7 +19,7 @@ translation_of: Web/JavaScript/Reference/Global_Objects/Boolean
<p>其值不是{{jsxref("undefined")}}或{{jsxref("null")}}的任何对象(包括其值为<code>false</code>的布尔对象)在传递给条件语句时都将计算为<code>true</code>。 例如,以下{{jsxref("Statements/if...else", "if")}}语句中的条件评估为<code>true</code>:</p>
-<pre class="brush: js notranslate">var x = new Boolean(false);
+<pre class="brush: js">var x = new Boolean(false);
if (x) {
// 这里的代码会被执行
}
@@ -27,7 +27,7 @@ if (x) {
<p>基本类型的布尔值不受此规则影响。例如下面的 {{jsxref("Statements/if...else", "if")}} 语句的条件为假:</p>
-<pre class="brush: js notranslate">var x = false;
+<pre class="brush: js">var x = false;
if (x) {
// 这里的代码不会执行
}
@@ -35,14 +35,14 @@ if (x) {
<p>不要用创建 <code>Boolean</code> 对象的方式将一个非布尔值转化成布尔值,直接将 <code>Boolean</code> 当做转换函数来使用即可,或者使用<a href="/zh-CN/docs/Web/JavaScript/Reference/Operators/Logical_Operators#%E9%80%BB%E8%BE%91%E9%9D%9E%EF%BC%88!%EF%BC%89">双重非(!!)运算符</a>:</p>
-<pre class="brush: js notranslate">var x = Boolean(expression); // 推荐
+<pre class="brush: js">var x = Boolean(expression); // 推荐
var x = !!(expression); // 推荐
var x = new Boolean(expression); // 不太好
</pre>
<p>对于任何对象,即使是值为 <code>false</code> 的 <code>Boolean</code> 对象,当将其传给 <code>Boolean</code> 函数时,生成的 <code>Boolean</code> 对象的值都是 <code>true</code>。</p>
-<pre class="brush: js notranslate">var myFalse = new Boolean(false); // true
+<pre class="brush: js">var myFalse = new Boolean(false); // true
var g = new Boolean(myFalse); // true
var myString = new String("Hello");
var s = new Boolean(myString); // true
@@ -74,7 +74,7 @@ var s = new Boolean(myString); // true
<h3 id="创建值为_false_的_Boolean_对象">创建值为 <code>false</code> 的 <code>Boolean</code> 对象</h3>
-<pre class="brush: js notranslate">var bNoParam = new Boolean();
+<pre class="brush: js">var bNoParam = new Boolean();
var bZero = new Boolean(0);
var bNull = new Boolean(null);
var bEmptyString = new Boolean('');
@@ -83,7 +83,7 @@ var bfalse = new Boolean(false);
<h3 id="创建值为_true_的_Boolean_对象">创建值为 <code>true</code> 的  <code>Boolean</code> 对象</h3>
-<pre class="brush: js notranslate">var btrue = new Boolean(true);
+<pre class="brush: js">var btrue = new Boolean(true);
var btrueString = new Boolean('true');
var bfalseString = new Boolean('false');
var bSuLin = new Boolean('Su Lin');
diff --git a/files/zh-cn/web/javascript/reference/global_objects/date/index.html b/files/zh-cn/web/javascript/reference/global_objects/date/index.html
index 152caed1a0..2c8e41406b 100644
--- a/files/zh-cn/web/javascript/reference/global_objects/date/index.html
+++ b/files/zh-cn/web/javascript/reference/global_objects/date/index.html
@@ -18,7 +18,7 @@ translation_of: Web/JavaScript/Reference/Global_Objects/Date
<h2 id="语法">语法</h2>
-<pre class="syntaxbox notranslate">new Date();
+<pre class="syntaxbox">new Date();
new Date(<var>value</var>);
new Date(<var>dateString</var>);
new Date(<var>year</var>, <var>monthIndex</var> [, <var>day</var> [, <var>hours</var> [, <var>minutes</var> [, <var>seconds</var> [, <var>milliseconds</var>]]]]]);</pre>
@@ -147,7 +147,7 @@ new Date(<var>year</var>, <var>monthIndex</var> [, <var>day</var> [, <var>hours<
<p><strong>注意:</strong> 由于浏览器差异和不一致性,强烈建议不要使用<code>Date</code>构造函数(和<code>Date.parse</code>,它们是等效的)解析日期字符串。</p>
</div>
-<pre class="brush: js notranslate">var today = new Date();
+<pre class="brush: js">var today = new Date();
var birthday = new Date('December 17, 1995 03:24:00');
var birthday = new Date('1995-12-17T03:24:00');
var birthday = new Date(1995, 11, 17);
@@ -158,7 +158,7 @@ var birthday = new Date(1995, 11, 17, 3, 24, 0);
<p>为了创建和获取 0 到 99 之间的年份,应使用 {{jsxref("Date.prototype.setFullYear()")}} 和 {{jsxref("Date.prototype.getFullYear()")}} 方法。</p>
-<pre class="brush: js notranslate">var date = new Date(98, 1); // Sun Feb 01 1998 00:00:00 GMT+0000 (GMT)
+<pre class="brush: js">var date = new Date(98, 1); // Sun Feb 01 1998 00:00:00 GMT+0000 (GMT)
// 已弃用的方法, 同样将 98 映射为 1998
date.setYear(98); // Sun Feb 01 1998 00:00:00 GMT+0000 (GMT)
@@ -172,7 +172,7 @@ date.setFullYear(98); // Sat Feb 01 0098 00:00:00 GMT+0000 (BST)
<p>由于不同日期、月份、年份长度的不同(日期长度不同来自夏令时的切换),使用大于秒、分钟、小时的单位表示经过的时间会遇到很多问题,在使用前需要经过详尽的调研。</p>
-<pre class="brush: js notranslate">// 使用 Date 对象
+<pre class="brush: js">// 使用 Date 对象
var start = Date.now();
// 调用一个消耗一定时间的方法:
@@ -180,7 +180,7 @@ doSomethingForALongTime();
var end = Date.now();
var elapsed = end - start; // 以毫秒计的运行时长</pre>
-<pre class="brush: js notranslate">// 使用内建的创建方法
+<pre class="brush: js">// 使用内建的创建方法
var start = new Date();
// 调用一个消耗一定时间的方法:
@@ -188,7 +188,7 @@ doSomethingForALongTime();
var end = new Date();
var elapsed = end.getTime() - start.getTime(); // 运行时间的毫秒值</pre>
-<pre class="brush: js notranslate" dir="ltr">// to test a function and get back its return
+<pre class="brush: js" dir="ltr">// to test a function and get back its return
function printElapsedTime (fTest) {
var nStartTime = Date.now(),
vReturn = fTest(),
@@ -205,7 +205,7 @@ yourFunctionReturn = printElapsedTime(yourFunction);
<h3 id="获取自_Unix_起始时间以来经过的秒数">获取自 Unix 起始时间以来经过的秒数</h3>
-<pre class="brush: js notranslate">var seconds = Math.floor(Date.now() / 1000);</pre>
+<pre class="brush: js">var seconds = Math.floor(Date.now() / 1000);</pre>
<p>注意此处需要返回一个整数 (仅做除法得到的不是整数),并且需要返回实际已经经过的秒数(所以这里使用了{{jsxref("Math.floor()")}}而不是{{jsxref("Math.round()")}}).</p>
diff --git a/files/zh-cn/web/javascript/reference/global_objects/encodeuricomponent/index.html b/files/zh-cn/web/javascript/reference/global_objects/encodeuricomponent/index.html
index dd30f152b1..2864496ff8 100644
--- a/files/zh-cn/web/javascript/reference/global_objects/encodeuricomponent/index.html
+++ b/files/zh-cn/web/javascript/reference/global_objects/encodeuricomponent/index.html
@@ -15,7 +15,7 @@ translation_of: Web/JavaScript/Reference/Global_Objects/encodeURIComponent
<h2 id="语法">语法</h2>
-<pre class="syntaxbox notranslate">encodeURIComponent(str);</pre>
+<pre class="syntaxbox">encodeURIComponent(str);</pre>
<h3 id="参数">参数</h3>
@@ -32,7 +32,7 @@ translation_of: Web/JavaScript/Reference/Global_Objects/encodeURIComponent
<p><code>encodeURIComponent</code> 转义除了如下所示外的所有字符:</p>
-<pre class="notranslate">不转义的字符:
+<pre>不转义的字符:
A-Z a-z 0-9 <code>-</code> <code>_</code> <code>.</code> <code>!</code> <code>~</code> <code>*</code> <code>'</code> <code>(</code> <code>)</code></pre>
<p><code>encodeURIComponent()</code> 和 <strong><code>encodeURI</code></strong> 有以下几个不同点:</p>
@@ -54,7 +54,7 @@ console.log(encodeURIComponent(set4)); // ABC%20abc%20123 (the space gets encode
<p>注意,如果试图编码一个非高-低位完整的代理字符,将会抛出一个 {{jsxref("URIError")}} 错误,例如:</p>
-<pre class="brush: js notranslate">// 高低位完整
+<pre class="brush: js">// 高低位完整
alert(encodeURIComponent('\uD800\uDFFF'));
// 只有高位,将抛出"URIError: malformed URI sequence"
@@ -69,7 +69,7 @@ alert(encodeURIComponent('\uDFFF')); </pre>
<p>为了更严格的遵循 {{rfc("3986")}}(它保留 !, ', (, ), 和 *),即使这些字符并没有正式划定 URI 的用途,下面这种方式是比较安全的:</p>
-<pre class="brush: js notranslate">function fixedEncodeURIComponent (str) {
+<pre class="brush: js">function fixedEncodeURIComponent (str) {
return encodeURIComponent(str).replace(/[!'()*]/g, function(c) {
return '%' + c.charCodeAt(0).toString(16).toUpperCase();
});
@@ -79,7 +79,7 @@ alert(encodeURIComponent('\uDFFF')); </pre>
<p>下面这个例子提供了 UTF-8 下 {{HTTPHeader("Content-Disposition")}} 和 {{HTTPHeader("Link")}} 的服务器响应头信息的参数(例如 UTF-8 文件名):</p>
-<pre class="brush: js notranslate">var fileName = 'my file(2).txt';
+<pre class="brush: js">var fileName = 'my file(2).txt';
var header = "Content-Disposition: attachment; filename*=UTF-8''"
+ encodeRFC5987ValueChars(fileName);
diff --git a/files/zh-cn/web/javascript/reference/global_objects/finalizationregistry/index.html b/files/zh-cn/web/javascript/reference/global_objects/finalizationregistry/index.html
index 10e720eb80..5dbd569caf 100644
--- a/files/zh-cn/web/javascript/reference/global_objects/finalizationregistry/index.html
+++ b/files/zh-cn/web/javascript/reference/global_objects/finalizationregistry/index.html
@@ -21,14 +21,14 @@ translation_of: Web/JavaScript/Reference/Global_Objects/FinalizationRegistry
<p>你在回调中创建了如下的 registry:</p>
-<pre class="brush: js notranslate">const registry = new FinalizationRegistry(heldValue =&gt; {
+<pre class="brush: js">const registry = new FinalizationRegistry(heldValue =&gt; {
// ....
});
</pre>
<p>然后,你可以通过调用`register`方法,注册任何你想要清理回调的对象,传入该对象和*所含的值*。</p>
-<pre class="brush: js notranslate">registry.register(theObject, "some value");
+<pre class="brush: js">registry.register(theObject, "some value");
</pre>
<p>The registry does not keep a strong reference to the object, as that would defeat the purpose (if the registry held it strongly, the object would never be reclaimed).</p>
@@ -39,14 +39,14 @@ translation_of: Web/JavaScript/Reference/Global_Objects/FinalizationRegistry
<p>It's common to use the object itself as the unregister token, which is just fine:</p>
-<pre class="brush: js notranslate">registry.register(theObject, "some value", theObject);
+<pre class="brush: js">registry.register(theObject, "some value", theObject);
// ...some time later, if you don't care about `theObject` anymore...
registry.unregister(theObject);
</pre>
<p>It doesn't have to be the same object, though; it can be a different one:</p>
-<pre class="brush: js notranslate">registry.register(theObject, "some value", tokenObject);
+<pre class="brush: js">registry.register(theObject, "some value", tokenObject);
// ...some time later, if you don't care about `theObject` anymore...
registry.unregister(tokenObject);
</pre>
@@ -108,7 +108,7 @@ registry.unregister(tokenObject);
<p>You create the registry passing in the callback:</p>
-<pre class="brush: js notranslate">const registry = new FinalizationRegistry(heldValue =&gt; {
+<pre class="brush: js">const registry = new FinalizationRegistry(heldValue =&gt; {
// ....
});
</pre>
@@ -117,7 +117,7 @@ registry.unregister(tokenObject);
<p>Then you register any objects you want a cleanup callback for by calling the `register` method, passing in the object and a *held value* for it:</p>
-<pre class="brush: js notranslate">registry.register(theObject, "some value");</pre>
+<pre class="brush: js">registry.register(theObject, "some value");</pre>
<h2 id="Specifications">Specifications</h2>
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 &lt; 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 &lt; 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);
diff --git a/files/zh-cn/web/javascript/reference/global_objects/globalthis/index.html b/files/zh-cn/web/javascript/reference/global_objects/globalthis/index.html
index e3c5d1b0a2..a4dc9510c1 100644
--- a/files/zh-cn/web/javascript/reference/global_objects/globalthis/index.html
+++ b/files/zh-cn/web/javascript/reference/global_objects/globalthis/index.html
@@ -24,7 +24,7 @@ translation_of: Web/JavaScript/Reference/Global_Objects/globalThis
<h2 id="语法">语法</h2>
-<pre class="syntaxbox notranslate">globalThis</pre>
+<pre class="syntaxbox">globalThis</pre>
<h2 id="描述">描述</h2>
@@ -46,7 +46,7 @@ translation_of: Web/JavaScript/Reference/Global_Objects/globalThis
<p>在 <code>globalThis</code> 之前,获取某个全局对象的唯一方式就是 <code>Function('return this')()</code>,但是这在某些情况下会违反 <a href="/zh-CN/docs/Web/HTTP/CSP">CSP</a> 规则,所以,<a href="https://github.com/paulmillr/es6-shim">es6-shim</a> 使用了类似如下的方式:</p>
-<pre class="brush: js notranslate">var getGlobal = function () {
+<pre class="brush: js">var getGlobal = function () {
if (typeof self !== 'undefined') { return self; }
if (typeof window !== 'undefined') { return window; }
if (typeof global !== 'undefined') { return global; }
@@ -62,7 +62,7 @@ if (typeof globals.setTimeout !== 'function') {
<p>但是有了 <code>globalThis</code> 之后,只需要:</p>
-<pre class="brush: js notranslate">if (typeof globalThis.setTimeout !== 'function') {
+<pre class="brush: js">if (typeof globalThis.setTimeout !== 'function') {
// 此环境中没有 setTimeout 方法!
}</pre>
diff --git a/files/zh-cn/web/javascript/reference/global_objects/infinity/index.html b/files/zh-cn/web/javascript/reference/global_objects/infinity/index.html
index 3181d4b7ff..f20755f907 100644
--- a/files/zh-cn/web/javascript/reference/global_objects/infinity/index.html
+++ b/files/zh-cn/web/javascript/reference/global_objects/infinity/index.html
@@ -25,7 +25,7 @@ translation_of: Web/JavaScript/Reference/Global_Objects/Infinity
<h2 id="示例">示例</h2>
-<pre class="brush: js line-numbers language-js notranslate"><code class="language-js">console.log(Infinity ); /* Infinity */
+<pre class="brush: js line-numbers language-js"><code class="language-js">console.log(Infinity ); /* Infinity */
console.log(Infinity + 1 ); /* Infinity */
console.log(Math.pow(10, 1000)); /* Infinity */
console.log(Math.log(0) ); /* -Infinity */
diff --git a/files/zh-cn/web/javascript/reference/global_objects/intl/locale/index.html b/files/zh-cn/web/javascript/reference/global_objects/intl/locale/index.html
index 181d9dc0bf..08af53d8fa 100644
--- a/files/zh-cn/web/javascript/reference/global_objects/intl/locale/index.html
+++ b/files/zh-cn/web/javascript/reference/global_objects/intl/locale/index.html
@@ -64,13 +64,13 @@ translation_of: Web/JavaScript/Reference/Global_Objects/Intl/Locale
<p>很简单,就是需要给{{jsxref("Locale/Locale", "Intl.Locale")}} 构造函数传入一个 locale 标识字符串作为参数:</p>
-<pre class="brush: js notranslate">let us = new Intl.Locale('zh-Hans-CN');</pre>
+<pre class="brush: js">let us = new Intl.Locale('zh-Hans-CN');</pre>
<h3 id="使用配置实例化">使用配置实例化</h3>
<p>构造函数支持传入 object 作为配置,object 中可包含多个配置属性。例如,设置 <code><a href="/zh-CN/docs/Web/JavaScript/Reference/Global_Objects/Intl/Locale/hourCycle">hourCycle</a></code> 属性,用于设置您所需要的小时周期类型:</p>
-<pre class="brush: js notranslate">let zh12hour = new Intl.Locale("zh-Hans-CN", {hourCycle: "h12"});
+<pre class="brush: js">let zh12hour = new Intl.Locale("zh-Hans-CN", {hourCycle: "h12"});
console.log(zh12hour.hourCycle); // Prints "h12"</pre>
<h2 id="规范">规范</h2>
diff --git a/files/zh-cn/web/javascript/reference/global_objects/intl/relativetimeformat/index.html b/files/zh-cn/web/javascript/reference/global_objects/intl/relativetimeformat/index.html
index 561af8a1fe..a05c3385dd 100644
--- a/files/zh-cn/web/javascript/reference/global_objects/intl/relativetimeformat/index.html
+++ b/files/zh-cn/web/javascript/reference/global_objects/intl/relativetimeformat/index.html
@@ -14,7 +14,7 @@ translation_of: Web/JavaScript/Reference/Global_Objects/Intl/RelativeTimeFormat
<h2 id="句法">句法</h2>
-<pre class="notranslate"><code>new Intl.RelativeTimeFormat([<var>locales</var>[, <var>options</var>]])
+<pre><code>new Intl.RelativeTimeFormat([<var>locales</var>[, <var>options</var>]])
</code></pre>
<h3 id="参数">参数</h3>
@@ -84,7 +84,7 @@ translation_of: Web/JavaScript/Reference/Global_Objects/Intl/RelativeTimeFormat
<p>以下示例显示如何使用英语创建相对时间格式化程序。</p>
-<pre class="brush: js notranslate">//在语言环境中创建相对时间格式化程序
+<pre class="brush: js">//在语言环境中创建相对时间格式化程序
//显式传入默认值。
const rtf = new Intl.RelativeTimeFormat("en",{
localeMatcher: "bestfit",//其他值:"lookup"
@@ -104,7 +104,7 @@ rtf.format(1,"day");
<p>如果<code>numeric:auto</code>选项被传递,它将生成字符串<code>yesterday</code>或<code>tomorrow</code>代替<code>1 day ago</code>或<code>in 1 day</code>。这允许不必总是在输出中使用数值。</p>
-<pre class="brush: js notranslate">//在语言环境中创建相对时间格式化程序
+<pre class="brush: js">//在语言环境中创建相对时间格式化程序
//使用数字:传入"auto"选项值。
const rtf = new Intl.RelativeTimeFormat("en",{numeric: "auto"});
@@ -121,7 +121,7 @@ rtf.format(1,"day");
<p>以下示例显示如何创建返回格式化部件的相对时间格式器</p>
-<pre class="brush: js notranslate">const rtf = new Intl.RelativeTimeFormat("en",{numeric: "auto"});
+<pre class="brush: js">const rtf = new Intl.RelativeTimeFormat("en",{numeric: "auto"});
//使用日期单位格式化相对时间。
rtf.formatToParts(-1,"day");
diff --git a/files/zh-cn/web/javascript/reference/global_objects/json/stringify/index.html b/files/zh-cn/web/javascript/reference/global_objects/json/stringify/index.html
index 3ccfd067d3..ac4e1cdd67 100644
--- a/files/zh-cn/web/javascript/reference/global_objects/json/stringify/index.html
+++ b/files/zh-cn/web/javascript/reference/global_objects/json/stringify/index.html
@@ -19,7 +19,7 @@ translation_of: Web/JavaScript/Reference/Global_Objects/JSON/stringify
<h2 id="Syntax" name="Syntax">语法</h2>
-<pre class="syntaxbox notranslate"><code>JSON.stringify(<em>value</em>[, <em>replacer</em> [, <em>space</em>]])</code>
+<pre class="syntaxbox"><code>JSON.stringify(<em>value</em>[, <em>replacer</em> [, <em>space</em>]])</code>
</pre>
<h3 id="Parameters" name="Parameters">参数</h3>
@@ -64,7 +64,7 @@ translation_of: Web/JavaScript/Reference/Global_Objects/JSON/stringify
<h3 id="使用_JSON.stringify">使用 JSON.stringify</h3>
-<pre class="brush: js notranslate">JSON.stringify({}); // '{}'
+<pre class="brush: js">JSON.stringify({}); // '{}'
JSON.stringify(true); // 'true'
JSON.stringify("foo"); // '"foo"'
JSON.stringify([1, "false", false]); // '[1,"false",false]'
@@ -134,7 +134,7 @@ JSON.stringify(
<h4 id="例子function">例子(function)</h4>
-<pre class="notranslate"><code>function replacer(key, value) {
+<pre><code>function replacer(key, value) {
if (typeof value === "string") {
return undefined;
}
@@ -150,18 +150,18 @@ var jsonString = JSON.stringify(foo, replacer);</code></pre>
<p>如果 <code>replacer</code> 是一个数组,数组的值代表将被序列化成 JSON 字符串的属性名。</p>
-<pre class="notranslate"><code>JSON.stringify(foo, ['week', 'month']);
+<pre><code>JSON.stringify(foo, ['week', 'month']);
// '{"week":45,"month":7}', 只保留 “week” 和 “month” 属性值。</code></pre>
<h3 id="space_参数"><code>space</code> 参数</h3>
<p><code>space </code>参数用来控制结果字符串里面的间距。如果是一个数字, 则在字符串化时每一级别会比上一级别缩进多这个数字值的空格(最多10个空格);如果是一个字符串,则每一级别会比上一级别多缩进该字符串(或该字符串的前10个字符)。</p>
-<pre class="brush: js notranslate">JSON.stringify({ a: 2 }, null, " "); // '{\n "a": 2\n}'</pre>
+<pre class="brush: js">JSON.stringify({ a: 2 }, null, " "); // '{\n "a": 2\n}'</pre>
<p>使用制表符(\t)来缩进:</p>
-<pre class="brush: js notranslate">JSON.stringify({ uno: 1, dos : 2 }, null, '\t')
+<pre class="brush: js">JSON.stringify({ uno: 1, dos : 2 }, null, '\t')
// '{ \
// "uno": 1, \
// "dos": 2 \
@@ -172,7 +172,7 @@ var jsonString = JSON.stringify(foo, replacer);</code></pre>
<p>如果一个被序列化的对象拥有 <code>toJSON</code> 方法,那么该 <code>toJSON</code> 方法就会覆盖该对象默认的序列化行为:不是该对象被序列化,而是调用 <code>toJSON</code> 方法后的返回值会被序列化,例如:</p>
-<pre class="brush: js notranslate">var obj = {
+<pre class="brush: js">var obj = {
foo: 'foo',
toJSON: function () {
return 'bar';
@@ -186,7 +186,7 @@ JSON.stringify({x: obj}); // <code>'{"x":"bar"}'</code>
<p>注意 JSON 不是 JavaScript 严格意义上的子集,在 JSON 中不需要省略两条终线(Line separator 和 Paragraph separator),但在 JavaScript 中需要被省略。因此,如果 JSON 被用作 JSONP 时,下面方法可以使用:</p>
-<pre class="notranslate"><code>function jsFriendlyJSONStringify (s) {
+<pre><code>function jsFriendlyJSONStringify (s) {
return JSON.stringify(s).
replace(/\u2028/g, '\\u2028').
replace(/\u2029/g, '\\u2029');
@@ -213,7 +213,7 @@ alert(jsFriendlyJSONStringify(s)); // {"a":"\u2028","b":"\u2029"}</code></pre>
<p>一些时候,你想存储用户创建的一个对象,并且,即使在浏览器被关闭后仍能恢复该对象。下面的例子是 <code>JSON.stringify</code> 适用于这种情形的一个样板:</p>
-<pre class="brush: js notranslate">// 创建一个示例数据
+<pre class="brush: js">// 创建一个示例数据
var session = {
'screens' : [],
'state' : true
diff --git a/files/zh-cn/web/javascript/reference/global_objects/map/foreach/index.html b/files/zh-cn/web/javascript/reference/global_objects/map/foreach/index.html
index 76ef36556e..50b701e541 100644
--- a/files/zh-cn/web/javascript/reference/global_objects/map/foreach/index.html
+++ b/files/zh-cn/web/javascript/reference/global_objects/map/foreach/index.html
@@ -22,7 +22,7 @@ browser-compat: javascript.builtins.Map.forEach
<h2 id="语法">语法</h2>
-<pre class="syntaxbox notranslate"><code><var>myMap</var>.forEach(<var>callback([<var>value</var>][,<var>key</var>][,<var>map</var>])[, <var>thisArg</var>])</var></code></pre>
+<pre class="syntaxbox"><code><var>myMap</var>.forEach(<var>callback([<var>value</var>][,<var>key</var>][,<var>map</var>])[, <var>thisArg</var>])</var></code></pre>
<h3 id="参数">参数</h3>
@@ -72,7 +72,7 @@ browser-compat: javascript.builtins.Map.forEach
<p>以下的代码在每行中打印一个 <code>Map</code> 对象中的元素</p>
-<pre class="brush:js notranslate">function logMapElements(value, key, map) {
+<pre class="brush:js">function logMapElements(value, key, map) {
console.log(`map.get('${key}') = ${value}`)
}
new Map([['foo', 3], ['bar', {}], ['baz', undefined]]).forEach(logMapElements)
diff --git a/files/zh-cn/web/javascript/reference/global_objects/map/keys/index.html b/files/zh-cn/web/javascript/reference/global_objects/map/keys/index.html
index 59c1b50654..87758cf8f3 100644
--- a/files/zh-cn/web/javascript/reference/global_objects/map/keys/index.html
+++ b/files/zh-cn/web/javascript/reference/global_objects/map/keys/index.html
@@ -22,7 +22,7 @@ browser-compat: javascript.builtins.Map.keys
<h2 id="语法">语法</h2>
-<pre class="syntaxbox notranslate"><code><em>myMap</em>.keys()</code></pre>
+<pre class="syntaxbox"><code><em>myMap</em>.keys()</code></pre>
<h3 id="返回值">返回值</h3>
@@ -32,7 +32,7 @@ browser-compat: javascript.builtins.Map.keys
<h3 id="使用_keys">使用 <code>keys()</code></h3>
-<pre class="brush:js notranslate">var myMap = new Map();
+<pre class="brush:js">var myMap = new Map();
myMap.set("0", "foo");
myMap.set(1, "bar");
myMap.set({}, "baz");
diff --git a/files/zh-cn/web/javascript/reference/global_objects/math/floor/index.html b/files/zh-cn/web/javascript/reference/global_objects/math/floor/index.html
index 530f15a033..6a8bb13fc2 100644
--- a/files/zh-cn/web/javascript/reference/global_objects/math/floor/index.html
+++ b/files/zh-cn/web/javascript/reference/global_objects/math/floor/index.html
@@ -17,7 +17,7 @@ translation_of: Web/JavaScript/Reference/Global_Objects/Math/floor
<h2 id="Syntax" name="Syntax">语法</h2>
-<pre class="syntaxbox notranslate"><code>Math.floor(<em>x</em>) </code></pre>
+<pre class="syntaxbox"><code>Math.floor(<em>x</em>) </code></pre>
<h3 id="Parameters" name="Parameters">参数</h3>
@@ -39,7 +39,7 @@ translation_of: Web/JavaScript/Reference/Global_Objects/Math/floor
<h3 id="Example_Using_Math.floor" name="Example:_Using_Math.floor">例子:使用 <code>Math.floor</code></h3>
-<pre class="brush:js notranslate">Math.floor( 45.95);
+<pre class="brush:js">Math.floor( 45.95);
// 45
Math.floor( 45.05);
// 45
@@ -54,7 +54,7 @@ Math.floor(-45.95);
<h3 id="Example_Decimal_adjustment" name="Example:_Decimal_adjustment">例子:十进制调整</h3>
-<pre class="brush:js notranslate">// Closure
+<pre class="brush:js">// Closure
(function(){
/**
diff --git a/files/zh-cn/web/javascript/reference/global_objects/math/random/index.html b/files/zh-cn/web/javascript/reference/global_objects/math/random/index.html
index e25608ec05..91796ae506 100644
--- a/files/zh-cn/web/javascript/reference/global_objects/math/random/index.html
+++ b/files/zh-cn/web/javascript/reference/global_objects/math/random/index.html
@@ -21,7 +21,7 @@ translation_of: Web/JavaScript/Reference/Global_Objects/Math/random
<h2 id="Syntax" name="Syntax">语法</h2>
-<pre class="syntaxbox notranslate"><code>Math.random()</code></pre>
+<pre class="syntaxbox"><code>Math.random()</code></pre>
<h3 id="Parameters" name="Parameters">返回值</h3>
@@ -33,7 +33,7 @@ translation_of: Web/JavaScript/Reference/Global_Objects/Math/random
<h3 id="得到一个大于等于0,小于1之间的随机数">得到一个大于等于0,小于1之间的随机数</h3>
-<pre class="brush: js notranslate">function getRandom() {
+<pre class="brush: js">function getRandom() {
return Math.random();
}</pre>
@@ -41,7 +41,7 @@ translation_of: Web/JavaScript/Reference/Global_Objects/Math/random
<p>这个例子返回了一个在指定值之间的随机数。这个值不小于 <code>min</code>(有可能等于),并且小于(不等于)<code>max</code>。</p>
-<pre class="brush: js notranslate">function getRandomArbitrary(min, max) {
+<pre class="brush: js">function getRandomArbitrary(min, max) {
return Math.random() * (max - min) + min;
}
</pre>
@@ -50,7 +50,7 @@ translation_of: Web/JavaScript/Reference/Global_Objects/Math/random
<p>这个例子返回了一个在指定值之间的随机整数。这个值不小于 <code>min</code> (如果 <code>min</code> 不是整数,则不小于 <code>min</code> 的向上取整数),且小于(不等于)<code>max</code>。</p>
-<pre class="brush: js line-numbers language-js notranslate"><code class="language-js">function getRandomInt(min, max) {
+<pre class="brush: js line-numbers language-js"><code class="language-js">function getRandomInt(min, max) {
min = Math.ceil(min);
max = Math.floor(max);
return Math.floor(Math.random() * (max - min)) + min; </code>//不含最大值,含最小值<code class="language-js">
@@ -64,7 +64,7 @@ translation_of: Web/JavaScript/Reference/Global_Objects/Math/random
<p>上一个例子提到的函数 <code>getRandomInt()</code> 结果范围包含了最小值,但不含最大值。如果你的随机结果需要同时包含最小值和最大值,怎么办呢?  <code>getRandomIntInclusive()</code> 函数可以实现。</p>
-<pre class="brush: js line-numbers language-js notranslate"><code class="language-js">function getRandomIntInclusive(min, max) {
+<pre class="brush: js line-numbers language-js"><code class="language-js">function getRandomIntInclusive(min, max) {
min = Math.ceil(min);
max = Math.floor(max);
return Math.floor(Math.random() * (max - min + 1)) + min; //含最大值,含最小值
diff --git a/files/zh-cn/web/javascript/reference/global_objects/math/sin/index.html b/files/zh-cn/web/javascript/reference/global_objects/math/sin/index.html
index 989c5af7e5..a08cda8912 100644
--- a/files/zh-cn/web/javascript/reference/global_objects/math/sin/index.html
+++ b/files/zh-cn/web/javascript/reference/global_objects/math/sin/index.html
@@ -11,7 +11,7 @@ translation_of: Web/JavaScript/Reference/Global_Objects/Math/sin
<h2 id="Syntax" name="Syntax">语法</h2>
-<pre class="syntaxbox notranslate">Math.sin(<em>x</em>)</pre>
+<pre class="syntaxbox">Math.sin(<em>x</em>)</pre>
<h3 id="Parameters" name="Parameters">参数</h3>
@@ -30,7 +30,7 @@ translation_of: Web/JavaScript/Reference/Global_Objects/Math/sin
<h3 id="Example_Using_Math.sin" name="Example:_Using_Math.sin">例子:使用 <code>Math.sin</code></h3>
-<pre class="brush:js notranslate">Math.sin(0); // 0
+<pre class="brush:js">Math.sin(0); // 0
Math.sin(1); // 0.8414709848078965
Math.sin(Math.PI / 2); // 1</pre>
diff --git a/files/zh-cn/web/javascript/reference/global_objects/math/sinh/index.html b/files/zh-cn/web/javascript/reference/global_objects/math/sinh/index.html
index c9f0d376f9..1682a0ba73 100644
--- a/files/zh-cn/web/javascript/reference/global_objects/math/sinh/index.html
+++ b/files/zh-cn/web/javascript/reference/global_objects/math/sinh/index.html
@@ -11,7 +11,7 @@ translation_of: Web/JavaScript/Reference/Global_Objects/Math/sinh
<h2 id="Syntax" name="Syntax">语法</h2>
-<pre class="syntaxbox notranslate">Math.sinh(<em>x</em>)</pre>
+<pre class="syntaxbox">Math.sinh(<em>x</em>)</pre>
<h3 id="Parameters" name="Parameters">参数</h3>
@@ -28,7 +28,7 @@ translation_of: Web/JavaScript/Reference/Global_Objects/Math/sinh
<h2 id="Examples" name="Examples">示例</h2>
-<pre class="brush:js notranslate">Math.sinh(0) // 0
+<pre class="brush:js">Math.sinh(0) // 0
Math.sinh(1) // 1.1752011936438014
Math.sinh("-1") // -1.1752011936438014
Math.sinh("foo") // NaN
@@ -55,7 +55,7 @@ Math.sinh("foo") // NaN
<p>该函数可以使用 {{jsxref("Math.exp()")}}<code> 函数来实现</code>:</p>
-<pre class="brush: js language-js notranslate">function sinh(x){
+<pre class="brush: js language-js">function sinh(x){
return (Math.exp(x) - Math.exp(-x)) / 2;
}</pre>
diff --git a/files/zh-cn/web/javascript/reference/global_objects/number/isfinite/index.html b/files/zh-cn/web/javascript/reference/global_objects/number/isfinite/index.html
index aef163cfb6..47a2ee8f0b 100644
--- a/files/zh-cn/web/javascript/reference/global_objects/number/isfinite/index.html
+++ b/files/zh-cn/web/javascript/reference/global_objects/number/isfinite/index.html
@@ -17,7 +17,7 @@ translation_of: Web/JavaScript/Reference/Global_Objects/Number/isFinite
<h2 id="Syntax" name="Syntax">语法</h2>
-<pre class="syntaxbox notranslate"><code>Number.isFinite(v<var>alue</var>)</code></pre>
+<pre class="syntaxbox"><code>Number.isFinite(v<var>alue</var>)</code></pre>
<h3 id="Parameters" name="Parameters">参数</h3>
@@ -36,13 +36,13 @@ translation_of: Web/JavaScript/Reference/Global_Objects/Number/isFinite
<h2 id="Polyfill">Polyfill</h2>
-<pre class="brush: js notranslate">if (Number.isFinite === undefined) Number.isFinite = function(value) {
+<pre class="brush: js">if (Number.isFinite === undefined) Number.isFinite = function(value) {
    return typeof value === 'number' &amp;&amp; isFinite(value);
}</pre>
<h2 id="示例">示例</h2>
-<pre class="brush: js notranslate">Number.isFinite(Infinity); // false
+<pre class="brush: js">Number.isFinite(Infinity); // false
Number.isFinite(NaN); // false
Number.isFinite(-Infinity); // false
diff --git a/files/zh-cn/web/javascript/reference/global_objects/number/number/index.html b/files/zh-cn/web/javascript/reference/global_objects/number/number/index.html
index e539061589..604944ab1b 100644
--- a/files/zh-cn/web/javascript/reference/global_objects/number/number/index.html
+++ b/files/zh-cn/web/javascript/reference/global_objects/number/number/index.html
@@ -9,7 +9,7 @@ translation_of: Web/JavaScript/Reference/Global_Objects/Number/Number
<h2 id="语法">语法</h2>
-<pre class="brush: js notranslate">new Number(<var>value</var>)
+<pre class="brush: js">new Number(<var>value</var>)
</pre>
<h3 id="参数">参数</h3>
@@ -23,7 +23,7 @@ translation_of: Web/JavaScript/Reference/Global_Objects/Number/Number
<h3 id="创建_Number_对象">创建 Number 对象</h3>
-<pre class="brush: js notranslate">const a = new Number('123'); // a === 123 is false
+<pre class="brush: js">const a = new Number('123'); // a === 123 is false
const b = Number('123'); // b === 123 is true
a instanceof Number; // is true
b instanceof Number; // is false</pre>
diff --git a/files/zh-cn/web/javascript/reference/global_objects/object/assign/index.html b/files/zh-cn/web/javascript/reference/global_objects/object/assign/index.html
index 1e1080be00..080c859773 100644
--- a/files/zh-cn/web/javascript/reference/global_objects/object/assign/index.html
+++ b/files/zh-cn/web/javascript/reference/global_objects/object/assign/index.html
@@ -20,7 +20,7 @@ translation_of: Web/JavaScript/Reference/Global_Objects/Object/assign
<h2 id="Syntax" name="Syntax">语法</h2>
-<pre class="syntaxbox notranslate"><code>Object.assign(<var>target</var>, ...<var>sources</var>)</code></pre>
+<pre class="syntaxbox"><code>Object.assign(<var>target</var>, ...<var>sources</var>)</code></pre>
<h3 id="Parameters" name="Parameters">参数</h3>
@@ -53,7 +53,7 @@ translation_of: Web/JavaScript/Reference/Global_Objects/Object/assign
<p>这个 <a href="/zh-CN/docs/Glossary/Polyfill">polyfill</a> 不支持 symbol 属性, 由于 ES5 中本来就不存在 symbols :</p>
-<pre class="notranslate">if (typeof Object.assign !== 'function') {
+<pre>if (typeof Object.assign !== 'function') {
// Must be writable: true, enumerable: false, configurable: true
Object.defineProperty(Object, "assign", {
value: function assign(target, varArgs) { // .length of function is 2
@@ -87,7 +87,7 @@ translation_of: Web/JavaScript/Reference/Global_Objects/Object/assign
<h3 id="Example_Cloning_an_object" name="Example:_Cloning_an_object">复制一个对象</h3>
-<pre class="brush: js notranslate">const obj = { a: 1 };
+<pre class="brush: js">const obj = { a: 1 };
const copy = Object.assign({}, obj);
console.log(copy); // { a: 1 }
</pre>
@@ -98,7 +98,7 @@ console.log(copy); // { a: 1 }
<p>假如源值是一个对象的引用,它仅仅会复制其引用值。</p>
-<pre class="brush: js notranslate">const log = console.log;
+<pre class="brush: js">const log = console.log;
function test() {
'use strict';
@@ -139,7 +139,7 @@ test();
<h3 id="Example_Merging_objects" name="Example:_Merging_objects">合并对象</h3>
-<pre class="brush: js notranslate">const o1 = { a: 1 };
+<pre class="brush: js">const o1 = { a: 1 };
const o2 = { b: 2 };
const o3 = { c: 3 };
@@ -150,7 +150,7 @@ console.log(o1); // { a: 1, b: 2, c: 3 }, 注意目标对象自身也会改变
<h3 id="合并具有相同属性的对象">合并具有相同属性的对象</h3>
-<pre class="brush: js notranslate">const o1 = { a: 1, b: 1, c: 1 };
+<pre class="brush: js">const o1 = { a: 1, b: 1, c: 1 };
const o2 = { b: 2, c: 2 };
const o3 = { c: 3 };
@@ -161,7 +161,7 @@ console.log(obj); // { a: 1, b: 2, c: 3 }</pre>
<h3 id="Example_Symbol_properties" name="Example:_Symbol_properties">拷贝 symbol 类型的属性</h3>
-<pre class="brush: js notranslate">const o1 = { a: 1 };
+<pre class="brush: js">const o1 = { a: 1 };
const o2 = { [Symbol('foo')]: 2 };
const obj = Object.assign({}, o1, o2);
@@ -170,7 +170,7 @@ Object.getOwnPropertySymbols(obj); // [Symbol(foo)]</pre>
<h3 id="Example_Only_own_enumerable_properties" name="Example:_Only_own_enumerable_properties">继承属性和不可枚举属性是不能拷贝的</h3>
-<pre class="brush: js notranslate">const obj = Object.create({foo: 1}, { // foo 是个继承属性。
+<pre class="brush: js">const obj = Object.create({foo: 1}, { // foo 是个继承属性。
bar: {
value: 2 // bar 是个不可枚举属性。
},
@@ -186,7 +186,7 @@ console.log(copy); // { baz: 3 }
<h3 id="Example_Primitives" name="Example:_Primitives">原始类型会被包装为对象</h3>
-<pre class="brush: js notranslate">const v1 = "abc";
+<pre class="brush: js">const v1 = "abc";
const v2 = true;
const v3 = 10;
const v4 = Symbol("foo")
@@ -198,7 +198,7 @@ console.log(obj); // { "0": "a", "1": "b", "2": "c" }</pre>
<h3 id="Example_Exceptions" name="Example:_Exceptions">异常会打断后续拷贝任务</h3>
-<pre class="brush: js notranslate">const target = Object.defineProperty({}, "foo", {
+<pre class="brush: js">const target = Object.defineProperty({}, "foo", {
value: 1,
writable: false
}); // target 的 foo 属性是个只读属性。
@@ -216,7 +216,7 @@ console.log(target.baz); // undefined,第三个源对象更是不会被拷贝
<h3 id="Example_Copy_accessors" name="Example:_Copy_accessors">拷贝访问器</h3>
-<pre class="brush: js notranslate">const obj = {
+<pre class="brush: js">const obj = {
foo: 1,
get bar() {
return 2;
@@ -255,7 +255,7 @@ console.log(copy);
<p>此{{Glossary("Polyfill","polyfill")}}不支持 symbol 属性,因为ES5 中根本没有 symbol :</p>
-<pre class="brush: js notranslate">if (typeof Object.assign != 'function') {
+<pre class="brush: js">if (typeof Object.assign != 'function') {
// Must be writable: true, enumerable: false, configurable: true
Object.defineProperty(Object, "assign", {
value: function assign(target, varArgs) { // .length of function is 2
diff --git a/files/zh-cn/web/javascript/reference/global_objects/object/create/index.html b/files/zh-cn/web/javascript/reference/global_objects/object/create/index.html
index 073605d77f..671c542a48 100644
--- a/files/zh-cn/web/javascript/reference/global_objects/object/create/index.html
+++ b/files/zh-cn/web/javascript/reference/global_objects/object/create/index.html
@@ -20,7 +20,7 @@ translation_of: Web/JavaScript/Reference/Global_Objects/Object/create
<h2 id="Syntax" name="Syntax">语法</h2>
-<pre class="notranslate">Object.create(<var>proto,[</var><var>propertiesObject</var>])</pre>
+<pre>Object.create(<var>proto,[</var><var>propertiesObject</var>])</pre>
<h3 id="Parameters" name="Parameters">参数</h3>
@@ -45,7 +45,7 @@ translation_of: Web/JavaScript/Reference/Global_Objects/Object/create
<p>下面的例子演示了如何使用<code>Object.create()</code>来实现类式继承。这是一个所有版本JavaScript都支持的单继承。</p>
-<pre class="brush: js notranslate">// Shape - 父类(superclass)
+<pre class="brush: js">// Shape - 父类(superclass)
function Shape() {
this.x = 0;
this.y = 0;
@@ -77,7 +77,7 @@ rect.move(1, 1); // Outputs, 'Shape moved.'</pre>
<p>如果你希望能继承到多个对象,则可以使用混入的方式。</p>
-<pre class="brush: js notranslate">function MyClass() {
+<pre class="brush: js">function MyClass() {
SuperClass.call(this);
OtherSuperClass.call(this);
}
@@ -98,7 +98,7 @@ MyClass.prototype.myMethod = function() {
<h3 id="使用_Object.create_的_propertyObject参数">使用 <code>Object.create</code> 的 <code>propertyObject</code>参数</h3>
-<pre class="brush: js notranslate">var o;
+<pre class="brush: js">var o;
// 创建一个原型为null的空对象
o = Object.create(null);
@@ -167,7 +167,7 @@ o2 = Object.create({}, {
<p>请注意,尽管在 ES5 中 <code>Object.create</code>支持设置为<code>[[Prototype]]</code>为<code>null</code>,但因为那些ECMAScript5以前版本限制,此 polyfill 无法支持该特性。</p>
-<pre class="brush: js notranslate">if (typeof Object.create !== "function") {
+<pre class="brush: js">if (typeof Object.create !== "function") {
Object.create = function (proto, propertiesObject) {
if (typeof proto !== 'object' &amp;&amp; typeof proto !== 'function') {
throw new TypeError('Object prototype may only be an Object: ' + proto);
diff --git a/files/zh-cn/web/javascript/reference/global_objects/object/defineproperties/index.html b/files/zh-cn/web/javascript/reference/global_objects/object/defineproperties/index.html
index 483bcdf234..e4d9e9ef7a 100644
--- a/files/zh-cn/web/javascript/reference/global_objects/object/defineproperties/index.html
+++ b/files/zh-cn/web/javascript/reference/global_objects/object/defineproperties/index.html
@@ -14,7 +14,7 @@ translation_of: Web/JavaScript/Reference/Global_Objects/Object/defineProperties
<h2 id="Syntax" name="Syntax">语法</h2>
-<pre class="notranslate"><code>Object.defineProperties(<var>obj</var>, <var>props</var>)</code></pre>
+<pre><code>Object.defineProperties(<var>obj</var>, <var>props</var>)</code></pre>
<h3 id="Parameters" name="Parameters">参数</h3>
@@ -63,7 +63,7 @@ translation_of: Web/JavaScript/Reference/Global_Objects/Object/defineProperties
<h2 id="例子">例子</h2>
-<pre class="brush: js notranslate">var obj = {};
+<pre class="brush: js">var obj = {};
Object.defineProperties(obj, {
'property1': {
value: true,
@@ -80,7 +80,7 @@ Object.defineProperties(obj, {
<p>假设一个原始的执行环境,所有的名称和属性都引用它们的初始值,<code>Object.defineProperties</code>几乎完全等同于(注意<code>isCallable</code>中的注释)以下JavaScript中的重新实现:</p>
-<pre class="brush: js notranslate">function defineProperties(obj, properties) {
+<pre class="brush: js">function defineProperties(obj, properties) {
function convertToDescriptor(desc) {
function hasProperty(obj, prop) {
return Object.prototype.hasOwnProperty.call(obj, prop);
diff --git a/files/zh-cn/web/javascript/reference/global_objects/object/defineproperty/index.html b/files/zh-cn/web/javascript/reference/global_objects/object/defineproperty/index.html
index c711f8b4d5..b37662d5ab 100644
--- a/files/zh-cn/web/javascript/reference/global_objects/object/defineproperty/index.html
+++ b/files/zh-cn/web/javascript/reference/global_objects/object/defineproperty/index.html
@@ -25,7 +25,7 @@ translation_of: Web/JavaScript/Reference/Global_Objects/Object/defineProperty
<h2 id="语法">语法</h2>
-<pre class="syntaxbox notranslate">Object.defineProperty(<var>obj</var>, <var>prop</var>, <var>descriptor</var>)</pre>
+<pre class="syntaxbox">Object.defineProperty(<var>obj</var>, <var>prop</var>, <var>descriptor</var>)</pre>
<h3 id="参数">参数</h3>
@@ -135,7 +135,7 @@ translation_of: Web/JavaScript/Reference/Global_Objects/Object/defineProperty
<p>记住,这些选项不一定是自身属性,也要考虑继承来的属性。为了确认保留这些默认值,在设置之前,可能要冻结 {{jsxref("Object.prototype")}},明确指定所有的选项,或者通过 {{jsxref("Object.create", "Object.create(null)")}} 将 {{jsxref("Object.prototype.__proto__", "__proto__")}} 属性指向 {{jsxref("null")}}。</p>
-<pre class="brush: js notranslate">// 使用 __proto__
+<pre class="brush: js">// 使用 __proto__
var obj = {};
var descriptor = Object.create(null); // 没有继承的属性
// 默认没有 enumerable,没有 configurable,没有 writable
@@ -178,7 +178,7 @@ Object.defineProperty(obj, "key", withValue("static"));
<p>如果对象中不存在指定的属性,<code>Object.defineProperty()</code> 会创建这个属性。当描述符中省略某些字段时,这些字段将使用它们的默认值。</p>
-<pre class="brush: js notranslate">var o = {}; // 创建一个新对象
+<pre class="brush: js">var o = {}; // 创建一个新对象
// 在对象中添加一个属性与数据描述符的示例
Object.defineProperty(o, "a", {
@@ -225,7 +225,7 @@ Object.defineProperty(o, "conflict", {
<p>当 <code>writable</code> 属性设置为 <code>false</code> 时,该属性被称为“不可写的”。它不能被重新赋值。</p>
-<pre class="brush: js notranslate">var o = {}; // 创建一个新对象
+<pre class="brush: js">var o = {}; // 创建一个新对象
Object.defineProperty(o, 'a', {
value: 37,
@@ -256,7 +256,7 @@ console.log(o.a); // logs 37. The assignment didn't work.
<p><code>enumerable</code> 定义了对象的属性是否可以在 {{jsxref("Statements/for...in", "for...in")}} 循环和 {{jsxref("Object.keys()")}} 中被枚举。</p>
-<pre class="brush: js notranslate">var o = {};
+<pre class="brush: js">var o = {};
Object.defineProperty(o, "a", { value : 1, enumerable: true });
Object.defineProperty(o, "b", { value : 2, enumerable: false });
Object.defineProperty(o, "c", { value : 3 }); // enumerable 默认为 false
@@ -296,7 +296,7 @@ p[Symbol.for('f')] // undefined</pre>
<p><code>configurable</code> 特性表示对象的属性是否可以被删除,以及除 <code>value</code> 和 <code>writable</code> 特性外的其他特性是否可以被修改。</p>
-<pre class="brush: js notranslate">var o = {};
+<pre class="brush: js">var o = {};
Object.defineProperty(o, 'a', {
get() { return 1; },
configurable: false
@@ -329,7 +329,7 @@ console.log(o.a); // logs 1</pre>
<p>考虑特性被赋予的默认特性值非常重要,通常,使用点运算符和 <code>Object.defineProperty()</code> 为对象的属性赋值时,数据描述符中的属性默认值是不同的,如下例所示。</p>
-<pre class="brush: js notranslate">var o = {};
+<pre class="brush: js">var o = {};
o.a = 1;
// 等同于:
@@ -356,7 +356,7 @@ Object.defineProperty(o, "a", {
<p>下面的例子展示了如何实现一个自存档对象。当设置<code>temperature</code> 属性时,<code>archive</code> 数组会收到日志条目。</p>
-<pre class="brush: js notranslate">function Archiver() {
+<pre class="brush: js">function Archiver() {
var temperature = null;
var archive = [];
@@ -382,7 +382,7 @@ arc.getArchive(); // [{ val: 11 }, { val: 13 }]</pre>
<p>下面这个例子中,getter 总是会返回一个相同的值。</p>
-<pre class="brush: js notranslate">var pattern = {
+<pre class="brush: js">var pattern = {
get: function () {
return 'I alway return this string,whatever you have assigned';
},
@@ -409,7 +409,7 @@ console.log(instance.myname);</pre>
<p>如果访问者的属性是被继承的,它的 <code>get</code> 和 <code>set</code> 方法会在子对象的属性被访问或者修改时被调用。如果这些方法用一个变量存值,该值会被所有对象共享。</p>
-<pre class="brush: js notranslate">function myclass() {
+<pre class="brush: js">function myclass() {
}
var value;
@@ -430,7 +430,7 @@ console.log(b.x); // 1
<p>这可以通过将值存储在另一个属性中解决。在 <code>get</code> 和 <code>set</code> 方法中,<code>this</code> 指向某个被访问和修改属性的对象。</p>
-<pre class="brush: js notranslate">function myclass() {
+<pre class="brush: js">function myclass() {
}
Object.defineProperty(myclass.prototype, "x", {
@@ -449,7 +449,7 @@ console.log(b.x); // undefined</pre>
<p>不像访问者属性,值属性始终在对象自身上设置,而不是一个原型。然而,如果一个不可写的属性被继承,它仍然可以防止修改对象的属性。</p>
-<pre class="brush: js notranslate">function myclass() {
+<pre class="brush: js">function myclass() {
}
myclass.prototype.x = 1;
diff --git a/files/zh-cn/web/javascript/reference/global_objects/object/fromentries/index.html b/files/zh-cn/web/javascript/reference/global_objects/object/fromentries/index.html
index 80cb1de95a..d7b9c46865 100644
--- a/files/zh-cn/web/javascript/reference/global_objects/object/fromentries/index.html
+++ b/files/zh-cn/web/javascript/reference/global_objects/object/fromentries/index.html
@@ -13,7 +13,7 @@ translation_of: Web/JavaScript/Reference/Global_Objects/Object/fromEntries
<h2 id="语法">语法</h2>
-<pre class="syntaxbox notranslate">Object.fromEntries(<var>iterable</var>);</pre>
+<pre class="syntaxbox">Object.fromEntries(<var>iterable</var>);</pre>
<h3 id="参数">参数</h3>
@@ -38,7 +38,7 @@ translation_of: Web/JavaScript/Reference/Global_Objects/Object/fromEntries
<p>通过 <code>Object.fromEntries</code>, 可以将 {{jsxref("Map")}} 转换为 {{jsxref("Object")}}:</p>
-<pre class="brush: js notranslate">const map = new Map([ ['foo', 'bar'], ['baz', 42] ]);
+<pre class="brush: js">const map = new Map([ ['foo', 'bar'], ['baz', 42] ]);
const obj = Object.fromEntries(map);
console.log(obj); // { foo: "bar", baz: 42 }
</pre>
@@ -47,7 +47,7 @@ console.log(obj); // { foo: "bar", baz: 42 }
<p>通过 <code>Object.fromEntries</code>, 可以将 {{jsxref("Array")}} 转换为 {{jsxref("Object")}}:</p>
-<pre class="brush: js notranslate">const arr = [ ['0', 'a'], ['1', 'b'], ['2', 'c'] ];
+<pre class="brush: js">const arr = [ ['0', 'a'], ['1', 'b'], ['2', 'c'] ];
const obj = Object.fromEntries(arr);
console.log(obj); // { 0: "a", 1: "b", 2: "c" }
</pre>
@@ -56,7 +56,7 @@ console.log(obj); // { 0: "a", 1: "b", 2: "c" }
<p><code>Object.fromEntries</code> 是与 {{jsxref("Object.entries()")}} 相反的方法,用 <a href="/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array#Methods_2">数组处理函数</a> 可以像下面这样转换对象:</p>
-<pre class="brush: js notranslate">const object1 = { a: 1, b: 2, c: 3 };
+<pre class="brush: js">const object1 = { a: 1, b: 2, c: 3 };
const object2 = Object.fromEntries(
Object.entries(object1)
diff --git a/files/zh-cn/web/javascript/reference/global_objects/object/getownpropertydescriptor/index.html b/files/zh-cn/web/javascript/reference/global_objects/object/getownpropertydescriptor/index.html
index a5b4088128..08874a06e8 100644
--- a/files/zh-cn/web/javascript/reference/global_objects/object/getownpropertydescriptor/index.html
+++ b/files/zh-cn/web/javascript/reference/global_objects/object/getownpropertydescriptor/index.html
@@ -16,7 +16,7 @@ translation_of: Web/JavaScript/Reference/Global_Objects/Object/getOwnPropertyDes
<h2 id="Syntax" name="Syntax">语法</h2>
-<pre class="syntaxbox notranslate">Object.getOwnPropertyDescriptor(<em>obj</em>, <em>prop</em>)</pre>
+<pre class="syntaxbox">Object.getOwnPropertyDescriptor(<em>obj</em>, <em>prop</em>)</pre>
<h3 id="Parameters" name="Parameters">参数</h3>
@@ -54,7 +54,7 @@ translation_of: Web/JavaScript/Reference/Global_Objects/Object/getOwnPropertyDes
<h2 id="Examples" name="Examples">示例</h2>
-<pre class="brush: js notranslate">var o, d;
+<pre class="brush: js">var o, d;
o = { get foo() { return 17; } };
d = Object.getOwnPropertyDescriptor(o, "foo");
@@ -92,7 +92,7 @@ d = Object.getOwnPropertyDescriptor(o, "baz");
<p>在 ES5 中,如果该方法的第一个参数不是对象(而是原始类型),那么就会产生出现 {{jsxref("TypeError")}}。而在 ES2015,第一个的参数不是对象的话就会被强制转换为对象。</p>
-<pre class="brush: js notranslate">Object.getOwnPropertyDescriptor('foo', 0);
+<pre class="brush: js">Object.getOwnPropertyDescriptor('foo', 0);
// 类型错误: "foo" 不是一个对象 // ES5 code
Object.getOwnPropertyDescriptor('foo', 0);
diff --git a/files/zh-cn/web/javascript/reference/global_objects/object/hasownproperty/index.html b/files/zh-cn/web/javascript/reference/global_objects/object/hasownproperty/index.html
index 70f5f307d6..b0c254e52a 100644
--- a/files/zh-cn/web/javascript/reference/global_objects/object/hasownproperty/index.html
+++ b/files/zh-cn/web/javascript/reference/global_objects/object/hasownproperty/index.html
@@ -22,7 +22,7 @@ translation_of: Web/JavaScript/Reference/Global_Objects/Object/hasOwnProperty
<h2 id="语法">语法</h2>
-<pre class="syntaxbox notranslate"><var>obj</var>.hasOwnProperty(<var>prop</var>)</pre>
+<pre class="syntaxbox"><var>obj</var>.hasOwnProperty(<var>prop</var>)</pre>
<h3 id="参数">参数</h3>
@@ -43,7 +43,7 @@ translation_of: Web/JavaScript/Reference/Global_Objects/Object/hasOwnProperty
<p>即使属性的值是 <code>null</code> 或 <code>undefined</code>,只要属性存在,<code>hasOwnProperty</code> 依旧会返回 <code>true</code>。</p>
-<pre class="brush: js notranslate">o = new Object();
+<pre class="brush: js">o = new Object();
o.propOne = null;
o.hasOwnProperty('propOne'); // 返回 true
o.propTwo = undefined;
@@ -56,7 +56,7 @@ o.hasOwnProperty('propTwo'); // 返回 true
<p>下面的例子检测了对象 <code>o</code> 是否含有自身属性 <code>prop</code>:</p>
-<pre class="brush: js notranslate">o = new Object();
+<pre class="brush: js">o = new Object();
o.hasOwnProperty('prop'); // 返回 false
o.prop = 'exists';
o.hasOwnProperty('prop'); // 返回 true
@@ -68,7 +68,7 @@ o.hasOwnProperty('prop'); // 返回 false
<p>下面的例子演示了 <code>hasOwnProperty</code> 方法对待自身属性和继承属性的区别:</p>
-<pre class="brush: js notranslate">o = new Object();
+<pre class="brush: js">o = new Object();
o.prop = 'exists';
o.hasOwnProperty('prop'); // 返回 true
o.hasOwnProperty('toString'); // 返回 false
@@ -79,7 +79,7 @@ o.hasOwnProperty('hasOwnProperty'); // 返回 false
<p>下面的例子演示了如何在遍历一个对象的所有属性时忽略掉继承属性,注意这里 {{jsxref("Statements/for...in", "for...in")}}  循环只会遍历可枚举属性,所以不应该基于这个循环中没有不可枚举的属性而得出 <code>hasOwnProperty</code> 是严格限制于可枚举项目的(如同 {{jsxref("Object.getOwnPropertyNames()")}})。</p>
-<pre class="brush: js notranslate">var buz = {
+<pre class="brush: js">var buz = {
fog: 'stack'
};
@@ -98,7 +98,7 @@ for (var name in buz) {
<p>JavaScript 并没有保护 <code>hasOwnProperty</code> 这个属性名,因此,当某个对象可能自有一个占用该属性名的属性时,就需要使用外部的 <code>hasOwnProperty</code> 获得正确的结果:</p>
-<pre class="brush: js notranslate">var foo = {
+<pre class="brush: js">var foo = {
hasOwnProperty: function() {
return false;
},
diff --git a/files/zh-cn/web/javascript/reference/global_objects/object/index.html b/files/zh-cn/web/javascript/reference/global_objects/object/index.html
index cd90b70b07..e143a7d49d 100644
--- a/files/zh-cn/web/javascript/reference/global_objects/object/index.html
+++ b/files/zh-cn/web/javascript/reference/global_objects/object/index.html
@@ -139,24 +139,24 @@ translation_of: Web/JavaScript/Reference/Global_Objects/Object
<p>下面的例子将一个空的 <code>Object</code> 对象存到 <code>o</code> 中:</p>
-<pre class="brush: js notranslate">var o = new Object();
+<pre class="brush: js">var o = new Object();
</pre>
-<pre class="brush: js notranslate">var o = new Object(undefined);
+<pre class="brush: js">var o = new Object(undefined);
</pre>
-<pre class="brush: js notranslate">var o = new Object(null);
+<pre class="brush: js">var o = new Object(null);
</pre>
<h3 id="使用_Object_生成布尔对象">使用 <code>Object</code> 生成布尔对象</h3>
<p>下面的例子将{{jsxref("Boolean")}} 对象存到 <code>o</code> 中:</p>
-<pre class="brush: js notranslate">// 等价于 o = new Boolean(true);
+<pre class="brush: js">// 等价于 o = new Boolean(true);
var o = new Object(true);
</pre>
-<pre class="brush: js notranslate">// 等价于 o = new Boolean(false);
+<pre class="brush: js">// 等价于 o = new Boolean(false);
var o = new Object(Boolean());
</pre>
diff --git a/files/zh-cn/web/javascript/reference/global_objects/object/is/index.html b/files/zh-cn/web/javascript/reference/global_objects/object/is/index.html
index 9c3aff1abd..04a528b7b8 100644
--- a/files/zh-cn/web/javascript/reference/global_objects/object/is/index.html
+++ b/files/zh-cn/web/javascript/reference/global_objects/object/is/index.html
@@ -17,7 +17,7 @@ translation_of: Web/JavaScript/Reference/Global_Objects/Object/is
<p><strong>语法</strong></p>
<p>
- </p><pre class="syntaxbox notranslate"><code>Object.is(<var>value1</var>, <var>value2</var>);</code></pre>
+ </p><pre class="syntaxbox"><code>Object.is(<var>value1</var>, <var>value2</var>);</code></pre>
<h3 id="参数">参数</h3>
@@ -59,7 +59,7 @@ translation_of: Web/JavaScript/Reference/Global_Objects/Object/is
<h2 id="Polyfill">Polyfill</h2>
-<pre class="brush: js notranslate">if (!Object.is) {
+<pre class="brush: js">if (!Object.is) {
Object.is = function(x, y) {
// SameValue algorithm
if (x === y) { // Steps 1-5, 7-10
@@ -99,7 +99,7 @@ translation_of: Web/JavaScript/Reference/Global_Objects/Object/is
<h3 id="使用_Object.is">使用 Object.is</h3>
-<pre class="brush: js notranslate">Object.is('foo', 'foo'); // true
+<pre class="brush: js">Object.is('foo', 'foo'); // true
Object.is(window, window); // true
Object.is('foo', 'bar'); // false
diff --git a/files/zh-cn/web/javascript/reference/global_objects/object/issealed/index.html b/files/zh-cn/web/javascript/reference/global_objects/object/issealed/index.html
index d4bb3a438e..e6a895f345 100644
--- a/files/zh-cn/web/javascript/reference/global_objects/object/issealed/index.html
+++ b/files/zh-cn/web/javascript/reference/global_objects/object/issealed/index.html
@@ -14,7 +14,7 @@ translation_of: Web/JavaScript/Reference/Global_Objects/Object/isSealed
<h2 id="语法">语法</h2>
-<pre class="syntaxbox notranslate"><code>Object.isSealed(<em>obj</em>)</code></pre>
+<pre class="syntaxbox"><code>Object.isSealed(<em>obj</em>)</code></pre>
<h3 id="参数">参数</h3>
@@ -33,7 +33,7 @@ translation_of: Web/JavaScript/Reference/Global_Objects/Object/isSealed
<h2 id="Examples" name="Examples">例子</h2>
-<pre class="brush: js notranslate">// 新建的对象默认不是密封的.
+<pre class="brush: js">// 新建的对象默认不是密封的.
var empty = {};
Object.isSealed(empty); // === false
@@ -72,7 +72,7 @@ Object.isFrozen(s3); // === true ,访问器属性不考虑可写不可写,只
<p>在ES5中,如果这个方法的参数不是一个对象(一个原始类型),那么它会导致{{jsxref("TypeError")}}。在ES2015中,非对象参数将被视为是一个密封的普通对象,只返回<code>true</code>。</p>
-<pre class="brush: js notranslate">Object.isSealed(1);
+<pre class="brush: js">Object.isSealed(1);
// TypeError: 1 is not an object (ES5 code)
Object.isSealed(1);
diff --git a/files/zh-cn/web/javascript/reference/global_objects/parseint/index.html b/files/zh-cn/web/javascript/reference/global_objects/parseint/index.html
index 2bbf25fe98..cf2555558b 100644
--- a/files/zh-cn/web/javascript/reference/global_objects/parseint/index.html
+++ b/files/zh-cn/web/javascript/reference/global_objects/parseint/index.html
@@ -22,7 +22,7 @@ translation_of: Web/JavaScript/Reference/Global_Objects/parseInt
<h2 id="语法">语法</h2>
-<pre class="syntaxbox notranslate">parseInt(<em>string</em>, <em>radix</em>);</pre>
+<pre class="syntaxbox">parseInt(<em>string</em>, <em>radix</em>);</pre>
<h3 id="参数">参数</h3>
@@ -48,7 +48,7 @@ translation_of: Web/JavaScript/Reference/Global_Objects/parseInt
<li>第一个非空格字符不能转换为数字。</li>
</ul>
-<pre class="notranslate">parseInt('123', 5) // 将'123'看作5进制数,返回十进制数38 =&gt; 1*5^2 + 2*5^1 + 3*5^0 = 38</pre>
+<pre>parseInt('123', 5) // 将'123'看作5进制数,返回十进制数38 =&gt; 1*5^2 + 2*5^1 + 3*5^0 = 38</pre>
<h2 id="描述_2"><a id="描述" name="描述">描述</a></h2>
@@ -89,7 +89,7 @@ translation_of: Web/JavaScript/Reference/Global_Objects/parseInt
<p>以下例子均返回<code>15</code>:</p>
-<pre class="brush: js notranslate">parseInt("0xF", 16);
+<pre class="brush: js">parseInt("0xF", 16);
parseInt("F", 16);
parseInt("17", 8);
parseInt(021, 8);
@@ -105,13 +105,13 @@ parseInt("12", 13);</pre>
<p>以下例子均返回 <code>NaN</code>:</p>
-<pre class="brush: js notranslate">parseInt("Hello", 8); // 根本就不是数值
+<pre class="brush: js">parseInt("Hello", 8); // 根本就不是数值
parseInt("546", 2); // 除了“0、1”外,其它数字都不是有效二进制数字
</pre>
<p>以下例子均返回 <code>-15</code>:</p>
-<pre class="brush: js notranslate">parseInt("-F", 16);
+<pre class="brush: js">parseInt("-F", 16);
parseInt("-0F", 16);
parseInt("-0XF", 16);
parseInt(-15.1, 10);
@@ -124,19 +124,19 @@ parseInt("-12", 13);
<p>下例中全部返回 <code>4</code>:</p>
-<pre class="brush: js notranslate">parseInt(4.7, 10);
+<pre class="brush: js">parseInt(4.7, 10);
parseInt(4.7 * 1e22, 10); // 非常大的数值变成 4
parseInt(0.00000000000434, 10); // 非常小的数值变成 4</pre>
<p>下面的例子返回 <code>224</code></p>
-<pre class="brush: js notranslate">parseInt("0e0",16);</pre>
+<pre class="brush: js">parseInt("0e0",16);</pre>
<h2 id="没有指定_radix_参数时的八进制解析" style="margin-bottom: 20px; line-height: 30px;">没有指定 <code>radix</code> 参数时的八进制解析</h2>
<p>尽管 ECMAScript 3 已经不赞成这种做法,且 ECMAScript 5 已经禁止了这种做法,但是仍然有很多实现环境仍然把以 0 开头的数值字符串(numeric string)解释为一个八进制数。下面的例子可能返回八进制的结果,也可能返回十进制的结果。<strong>总是指定一个基数(radix)可以避免这种不可靠的行为。</strong></p>
-<pre class="brush: js notranslate">parseInt("0e0");
+<pre class="brush: js">parseInt("0e0");
// 0
parseInt("08");
@@ -157,7 +157,7 @@ parseInt("08");
<p>有时采用一个更严格的方法来解析整型值很有用。此时可以使用正则表达式:</p>
-<pre class="brush: js notranslate">filterInt = function (value) {
+<pre class="brush: js">filterInt = function (value) {
if(/^(\-|\+)?([0-9]+|Infinity)$/.test(value))
return Number(value);
return NaN;
diff --git a/files/zh-cn/web/javascript/reference/global_objects/promise/all/index.html b/files/zh-cn/web/javascript/reference/global_objects/promise/all/index.html
index c2d22ae1cd..113760c25d 100644
--- a/files/zh-cn/web/javascript/reference/global_objects/promise/all/index.html
+++ b/files/zh-cn/web/javascript/reference/global_objects/promise/all/index.html
@@ -21,7 +21,7 @@ translation_of: Web/JavaScript/Reference/Global_Objects/Promise/all
<h2 id="语法">语法</h2>
-<pre class="syntaxbox notranslate"><var>Promise.all(iterable)</var>;</pre>
+<pre class="syntaxbox"><var>Promise.all(iterable)</var>;</pre>
<h3 id="参数">参数</h3>
@@ -56,7 +56,7 @@ translation_of: Web/JavaScript/Reference/Global_Objects/Promise/all
<p><code>Promise.all</code> 等待所有都完成(或第一个失败)。</p>
-<pre class="brush: js notranslate">var p1 = Promise.resolve(3);
+<pre class="brush: js">var p1 = Promise.resolve(3);
var p2 = 1337;
var p3 = new Promise((resolve, reject) =&gt; {
setTimeout(resolve, 100, 'foo');
@@ -68,7 +68,7 @@ Promise.all([p1, p2, p3]).then(values =&gt; {
<p>如果参数中包含非 <code>promise</code> 值,这些值将被忽略,但仍然会被放在返回数组中(如果 <code>promise</code> 完成的话):</p>
-<pre class="brush: js notranslate">// this will be counted as if the iterable passed is empty, so it gets fulfilled
+<pre class="brush: js">// this will be counted as if the iterable passed is empty, so it gets fulfilled
var p = Promise.all([1,2,3]);
// this will be counted as if the iterable passed contains only the resolved promise with value "444", so it gets fulfilled
var p2 = Promise.all([1,2,3, Promise.resolve(444)]);
@@ -91,7 +91,7 @@ setTimeout(function(){
<p>下面的例子中演示了 <code>Promise.all</code> 的异步性(如果传入的可迭代对象是空的,就是同步):</p>
-<pre class="brush: js notranslate">// we are passing as argument an array of promises that are already resolved,
+<pre class="brush: js">// we are passing as argument an array of promises that are already resolved,
// to trigger Promise.all as soon as possible
var resolvedPromisesArray = [Promise.resolve(33), Promise.resolve(44)];
@@ -113,7 +113,7 @@ setTimeout(function(){
<p>如果 <code>Promise.all</code> 失败,也是一样的:</p>
-<pre class="brush: js notranslate">var mixedPromisesArray = [Promise.resolve(33), Promise.reject(44)];
+<pre class="brush: js">var mixedPromisesArray = [Promise.resolve(33), Promise.reject(44)];
var p = Promise.all(mixedPromisesArray);
console.log(p);
setTimeout(function(){
@@ -129,7 +129,7 @@ setTimeout(function(){
<p>但是,<code>Promise.all</code> <strong>当且仅当</strong>传入的可迭代对象为空时为同步:</p>
-<pre class="brush: js notranslate">var p = Promise.all([]); // will be immediately resolved
+<pre class="brush: js">var p = Promise.all([]); // will be immediately resolved
var p2 = Promise.all([1337, "hi"]); // non-promise values will be ignored, but the evaluation will be done asynchronously
console.log(p);
console.log(p2)
@@ -149,7 +149,7 @@ setTimeout(function(){
<p><code>Promise.all</code> 在任意一个传入的 <code>promise</code> 失败时返回失败。例如,如果你传入的 <code>promise</code>中,有四个 <code>promise</code> 在一定的时间之后调用成功函数,有一个立即调用失败函数,那么 <code>Promise.all</code> 将立即变为失败。</p>
-<pre class="brush: js notranslate">var p1 = new Promise((resolve, reject) =&gt; {
+<pre class="brush: js">var p1 = new Promise((resolve, reject) =&gt; {
setTimeout(resolve, 1000, 'one');
});
var p2 = new Promise((resolve, reject) =&gt; {
diff --git a/files/zh-cn/web/javascript/reference/global_objects/promise/allsettled/index.html b/files/zh-cn/web/javascript/reference/global_objects/promise/allsettled/index.html
index a448dfb79b..d6ceaaa2ad 100644
--- a/files/zh-cn/web/javascript/reference/global_objects/promise/allsettled/index.html
+++ b/files/zh-cn/web/javascript/reference/global_objects/promise/allsettled/index.html
@@ -19,7 +19,7 @@ translation_of: Web/JavaScript/Reference/Global_Objects/Promise/allSettled
<h2 id="句法">句法</h2>
-<pre class="notranslate"><em>Promise</em>.allSettled(<em>iterable</em>);</pre>
+<pre><em>Promise</em>.allSettled(<em>iterable</em>);</pre>
<h3 id="参数">参数</h3>
diff --git a/files/zh-cn/web/javascript/reference/global_objects/promise/any/index.html b/files/zh-cn/web/javascript/reference/global_objects/promise/any/index.html
index 25e87a91af..b61b833f5f 100644
--- a/files/zh-cn/web/javascript/reference/global_objects/promise/any/index.html
+++ b/files/zh-cn/web/javascript/reference/global_objects/promise/any/index.html
@@ -19,7 +19,7 @@ translation_of: Web/JavaScript/Reference/Global_Objects/Promise/any
<h2 id="语法">语法</h2>
-<pre class="notranslate">Promise.any(<var>iterable</var>);</pre>
+<pre>Promise.any(<var>iterable</var>);</pre>
<h3 id="参数">参数</h3>
@@ -63,7 +63,7 @@ translation_of: Web/JavaScript/Reference/Global_Objects/Promise/any
<p>即使第一个返回的 promise 是失败的,<code>Promise.any()</code> 依然使用第一个成功状态的 promise 来返回。这与使用首个(无论 rejected 还是 fullfiled)promise 来返回的 {{jsxref("Promise.race()")}} 相反。</p>
-<pre class="brush: js notranslate">const pErr = new Promise((resolve, reject) =&gt; {
+<pre class="brush: js">const pErr = new Promise((resolve, reject) =&gt; {
reject("总是失败");
});
@@ -86,7 +86,7 @@ Promise.any([pErr, pSlow, pFast]).then((value) =&gt; {
<p>如果没有 fulfilled (成功的) promise,<code>Promise.any()</code> 返回 {{jsxref("AggregateError")}} 错误。</p>
-<pre class="brush: js notranslate">const pErr = new Promise((resolve, reject) =&gt; {
+<pre class="brush: js">const pErr = new Promise((resolve, reject) =&gt; {
reject('总是失败');
});
@@ -100,7 +100,7 @@ Promise.any([pErr]).catch((err) =&gt; {
<p>在这个例子,我们有一个获取图片并返回 blob 的函数,我们使用 <code>Promise.any()</code> 来获取一些图片并显示第一张有效的图片(即最先 resolved 的那个 promise)。</p>
-<pre class="brush: js notranslate">function fetchAndDecode(url) {
+<pre class="brush: js">function fetchAndDecode(url) {
return fetch(url).then(response =&gt; {
if(!response.ok) {
throw new Error(`HTTP error! status: ${response.status}`);
diff --git a/files/zh-cn/web/javascript/reference/global_objects/promise/index.html b/files/zh-cn/web/javascript/reference/global_objects/promise/index.html
index 3dd832b401..31420f60c5 100644
--- a/files/zh-cn/web/javascript/reference/global_objects/promise/index.html
+++ b/files/zh-cn/web/javascript/reference/global_objects/promise/index.html
@@ -46,7 +46,7 @@ translation_of: Web/JavaScript/Reference/Global_Objects/Promise
<p>我们可以用 <code>promise.then()</code>,<code>promise.catch()</code> 和 <code>promise.finally()</code> 这些方法将进一步的操作与一个变为已敲定状态的 promise 关联起来。这些方法还会返回一个新生成的 promise 对象,这个对象可以被非强制性的用来做链式调用,就像这样:</p>
-<pre class="notranslate">const myPromise =
+<pre>const myPromise =
(new Promise(myExecutorFunc))
.then(handleFulfilledA,handleRejectedA)
.then(handleFulfilledB,handleRejectedB)
@@ -65,7 +65,7 @@ const myPromise =
<p>这两个函数的签名很简单,它们只接受一个任意类型的参数。这些函数由您(编程者)编写。这些函数的终止状态决定着链式调用中下一个promise的"已敲定 (settled)"状态是什么。任何不是 <code>throw</code> 的终止都会创建一个"已决议(resolved)"状态,而以 <code>throw</code> 终止则会创建一个"已拒绝"状态。</p>
-<pre class="notranslate">handleFulfilled(value) { /*...*/; return nextValue; }
+<pre>handleFulfilled(value) { /*...*/; return nextValue; }
handleRejection(reason) { /*...*/; throw nextReason; }
handleRejection(reason) { /*...*/; return nextValue; }</pre>
@@ -75,21 +75,21 @@ handleRejection(reason) { /*...*/; return nextValue; }</pre>
<p>链式调用中的 promise 们就像俄罗斯套娃一样,是嵌套起来的,但又像是一个栈,每个都必须从顶端被弹出。链式调用中的第一个 promise 是嵌套最深的一个,也将是第一个被弹出的。</p>
-<pre class="notranslate">(promise D, (promise C, (promise B, (promise A) ) ) )</pre>
+<pre>(promise D, (promise C, (promise B, (promise A) ) ) )</pre>
<p>当存在一个 <code>nextValue</code> 是 promise 时,就会出现一种动态的替换效果。<code>return</code> 会导致一个 promise 被弹出,但这个 <code>nextValue</code> promise 则会被推入被弹出 promise 原来的位置。对于上面所示的嵌套场景,假设与 "promise B" 相关的 <code>.then()</code> 返回了一个值为 "promise X" 的 <code>nextValue</code> 。那么嵌套的结果看起来就会是这样:</p>
-<pre class="notranslate">(promise D, (promise C, (promise X) ) )</pre>
+<pre>(promise D, (promise C, (promise X) ) )</pre>
<p>一个 promise 可能会参与不止一次的嵌套。对于下面的代码,<code>promiseA</code> 向"已敲定"("settled")状态的过渡会导致两个实例的 <code>.then</code> 都被调用。</p>
-<pre class="notranslate">const promiseA = new Promise(myExecutorFunc);
+<pre>const promiseA = new Promise(myExecutorFunc);
const promiseB = promiseA.then(handleFulfilled1, handleRejected1);
const promiseC = promiseA.then(handleFulfilled2, handleRejected2); </pre>
<p>一个已经处于"已敲定"("settled")状态的 promise 也可以接收操作。在那种情况下,(如果没有问题的话,)这个操作会被作为第一个异步操作被执行。注意,所有的 promise 都一定是异步的。因此,一个已经处于"已敲定"("settled")状态的 promise 中的操作只有 promise 链式调用的栈被清空了和一个事件循环过去了之后才会被执行。这种效果跟 <code>setTimeout(action, 10)</code> 特别相似。</p>
-<pre class="notranslate">const promiseA = new Promise( (resolutionFunc,rejectionFunc) =&gt; {
+<pre>const promiseA = new Promise( (resolutionFunc,rejectionFunc) =&gt; {
resolutionFunc(777);
});
// 这时,"promiseA" 已经被敲定了。
@@ -155,7 +155,7 @@ console.log("immediate logging");
<p><code>Promise</code> 对象是由关键字 <code>new</code> 及其构造函数来创建的。该构造函数会把一个叫做“处理器函数”(executor function)的函数作为它的参数。这个“处理器函数”接受两个函数——<code>resolve</code> 和 <code>reject</code> ——作为其参数。当异步任务顺利完成且返回结果值时,会调用 <code>resolve</code> 函数;而当异步任务失败且返回失败原因(通常是一个错误对象)时,会调用<code>reject</code> 函数。</p>
-<pre class="brush: js notranslate">const myFirstPromise = new Promise((resolve, reject) =&gt; {
+<pre class="brush: js">const myFirstPromise = new Promise((resolve, reject) =&gt; {
// ?做一些异步操作,最终会调用下面两者之一:
//
// resolve(someValue); // fulfilled
@@ -165,7 +165,7 @@ console.log("immediate logging");
<p>想要某个函数拥有promise功能,只需让其返回一个promise即可。</p>
-<pre class="brush: js notranslate">function myAsyncFunction(url) {
+<pre class="brush: js">function myAsyncFunction(url) {
return new Promise((resolve, reject) =&gt; {
const xhr = new XMLHttpRequest();
xhr.open("GET", url);
@@ -179,7 +179,7 @@ console.log("immediate logging");
<h3 id="基础示例">基础示例</h3>
-<pre class="brush: js notranslate">let myFirstPromise = new Promise(function(resolve, reject){
+<pre class="brush: js">let myFirstPromise = new Promise(function(resolve, reject){
  //当异步代码执行成功时,我们才会调用resolve(...), 当异步代码失败时就会调用reject(...)
  //在本例中,我们使用setTimeout(...)来模拟异步代码,实际编码时可能是XHR请求或是HTML5的一些API方法.
setTimeout(function(){
@@ -196,7 +196,7 @@ myFirstPromise.then(function(successMessage){
<h3 id="高级示例">高级示例</h3>
-<pre class="brush: html hidden notranslate">&lt;button id="btn"&gt;Make a promise!&lt;/button&gt;
+<pre class="brush: html hidden">&lt;button id="btn"&gt;Make a promise!&lt;/button&gt;
&lt;div id="log"&gt;&lt;/div&gt;
</pre>
@@ -204,7 +204,7 @@ myFirstPromise.then(function(successMessage){
<p>Promise 的值的填充过程都被日志记录(logged)下来,这些日志信息展示了方法中的同步代码和异步代码是如何通过Promise完成解耦的。</p>
-<pre class="brush: js notranslate">'use strict';
+<pre class="brush: js">'use strict';
var promiseCount = 0;
function testPromise() {
@@ -247,7 +247,7 @@ function testPromise() {
') Promise made (&lt;small&gt;同步代码结束&lt;/small&gt;)&lt;br/&gt;');
}</pre>
-<pre class="brush:js hidden notranslate">if ("Promise" in window) {
+<pre class="brush:js hidden">if ("Promise" in window) {
let btn = document.getElementById("btn");
btn.addEventListener("click",testPromise);
} else {
diff --git a/files/zh-cn/web/javascript/reference/global_objects/promise/race/index.html b/files/zh-cn/web/javascript/reference/global_objects/promise/race/index.html
index fab2fd64a9..569f7d9d50 100644
--- a/files/zh-cn/web/javascript/reference/global_objects/promise/race/index.html
+++ b/files/zh-cn/web/javascript/reference/global_objects/promise/race/index.html
@@ -15,7 +15,7 @@ translation_of: Web/JavaScript/Reference/Global_Objects/Promise/race
<h2 id="Syntax" name="Syntax">语法</h2>
-<pre class="syntaxbox notranslate"><var>Promise.race(iterable)</var>;</pre>
+<pre class="syntaxbox"><var>Promise.race(iterable)</var>;</pre>
<h3 id="参数"><strong>参数</strong></h3>
@@ -40,7 +40,7 @@ translation_of: Web/JavaScript/Reference/Global_Objects/Promise/race
<h3 id="Promise.race的异步性">Promise.race的异步性</h3>
-<pre class="brush: js notranslate">// we are passing as argument an array of promises that are already resolved,
+<pre class="brush: js">// we are passing as argument an array of promises that are already resolved,
// to trigger Promise.race as soon as possible
var resolvedPromisesArray = [Promise.resolve(33), Promise.resolve(44)];
@@ -61,7 +61,7 @@ setTimeout(function(){
<h3 id="使用_Promise.race_–_setTimeout_的示例">使用 Promise.race –  setTimeout 的示例</h3>
-<pre class="brush: js notranslate">var p1 = new Promise(function(resolve, reject) {
+<pre class="brush: js">var p1 = new Promise(function(resolve, reject) {
setTimeout(resolve, 500, "one");
});
var p2 = new Promise(function(resolve, reject) {
diff --git a/files/zh-cn/web/javascript/reference/global_objects/proxy/index.html b/files/zh-cn/web/javascript/reference/global_objects/proxy/index.html
index b15511bc6a..f29774284a 100644
--- a/files/zh-cn/web/javascript/reference/global_objects/proxy/index.html
+++ b/files/zh-cn/web/javascript/reference/global_objects/proxy/index.html
@@ -24,7 +24,7 @@ translation_of: Web/JavaScript/Reference/Global_Objects/Proxy
<h2 id="语法">语法</h2>
-<pre class="syntaxbox notranslate">const <var>p</var> = new Proxy(<var>target</var>, <var>handler</var>)</pre>
+<pre class="syntaxbox">const <var>p</var> = new Proxy(<var>target</var>, <var>handler</var>)</pre>
<h3 id="参数">参数</h3>
@@ -85,7 +85,7 @@ translation_of: Web/JavaScript/Reference/Global_Objects/Proxy
<p>在以下简单的例子中,当对象中不存在属性名时,默认返回值为 <code>37</code>。下面的代码以此展示了 {{jsxref("Global_Objects/Proxy/handler/get", "get")}} handler 的使用场景。</p>
-<pre class="brush: js notranslate">const handler = {
+<pre class="brush: js">const handler = {
get: function(obj, prop) {
return prop in obj ? obj[prop] : 37;
}
@@ -103,7 +103,7 @@ console.log('c' in p, p.c); // false, 37
<p>在以下例子中,我们使用了一个原生 JavaScript 对象,代理会将所有应用到它的操作转发到这个对象上。</p>
-<pre class="brush: js notranslate">let target = {};
+<pre class="brush: js">let target = {};
let p = new Proxy(target, {});
p.a = 37; // 操作转发到目标
@@ -115,7 +115,7 @@ console.log(target.a); // 37. 操作已经被正确地转发
<p>通过代理,你可以轻松地验证向一个对象的传值。下面的代码借此展示了 {{jsxref("Global_Objects/Proxy/handler/set", "set")}} handler 的作用。</p>
-<pre class="brush: js notranslate">let validator = {
+<pre class="brush: js">let validator = {
set: function(obj, prop, value) {
if (prop === 'age') {
if (!Number.isInteger(value)) {
@@ -152,7 +152,7 @@ person.age = 300;
<p>方法代理可以轻松地通过一个新构造函数来扩展一个已有的构造函数。这个例子使用了<a href="/zh-CN/docs/Web/JavaScript/Reference/Global_Objects/Proxy/handler/construct"><code>construct</code></a>和<code><a href="/zh-CN/docs/Web/JavaScript/Reference/Global_Objects/Proxy/handler/apply">apply</a></code>。</p>
-<pre class="brush: js notranslate">function extend(sup, base) {
+<pre class="brush: js">function extend(sup, base) {
var descriptor = Object.getOwnPropertyDescriptor(
base.prototype, "constructor"
);
@@ -193,7 +193,7 @@ console.log(Peter.age); // 13</pre>
<p>有时,我们可能需要互换两个不同的元素的属性或类名。下面的代码以此为目标,展示了 {{jsxref("Global_Objects/Proxy/handler/set", "set")}} handler 的使用场景。</p>
-<pre class="brush: js notranslate">let view = new Proxy({
+<pre class="brush: js">let view = new Proxy({
selected: null
}, {
set: function(obj, prop, newval) {
@@ -228,7 +228,7 @@ console.log(i2.getAttribute('aria-selected')); // 'true'
<p>以下<code>products</code>代理会计算传值并根据需要转换为数组。这个代理对象同时支持一个叫做 <code>latestBrowser</code>的附加属性,这个属性可以同时作为 getter 和 setter。</p>
-<pre class="brush: js notranslate">let products = new Proxy({
+<pre class="brush: js">let products = new Proxy({
browsers: ['Internet Explorer', 'Netscape']
}, {
get: function(obj, prop) {
@@ -273,7 +273,7 @@ console.log(products.latestBrowser); // 'Chrome'
<p>以下代理为数组扩展了一些实用工具。如你所见,通过 Proxy,我们可以灵活地“定义”属性,而不需要使用 {{jsxref("Object.defineProperties")}} 方法。以下例子可以用于通过单元格来查找表格中的一行。在这种情况下,target 是 <code><a href="/zh-CN/docs/DOM/table.rows">table.rows</a></code>。</p>
-<pre class="brush: js notranslate">let products = new Proxy([
+<pre class="brush: js">let products = new Proxy([
{ name: 'Firefox' , type: 'browser' },
{ name: 'SeaMonkey' , type: 'browser' },
{ name: 'Thunderbird', type: 'mailer' }
@@ -333,7 +333,7 @@ console.log(products.number); // 3
<p>出于教学目的,这里为了创建一个完整的 traps 列表示例,我们将尝试代理化一个非原生对象,这特别适用于这类操作:由 <a href="/zh-CN/docs/DOM/document.cookie#A_little_framework.3A_a_complete_cookies_reader.2Fwriter_with_full_unicode_support">发布在 document.cookie页面上的“小型框架”</a>创建的<code>docCookies</code>全局对象。</p>
-<pre class="brush: js notranslate">/*
+<pre class="brush: js">/*
var docCookies = ... get the "docCookies" object here:
https://developer.mozilla.org/zh-CN/docs/DOM/document.cookie#A_little_framework.3A_a_complete_cookies_reader.2Fwriter_with_full_unicode_support
*/
diff --git a/files/zh-cn/web/javascript/reference/global_objects/proxy/proxy/index.html b/files/zh-cn/web/javascript/reference/global_objects/proxy/proxy/index.html
index 71a257174f..897a2e9954 100644
--- a/files/zh-cn/web/javascript/reference/global_objects/proxy/proxy/index.html
+++ b/files/zh-cn/web/javascript/reference/global_objects/proxy/proxy/index.html
@@ -9,7 +9,7 @@ translation_of: Web/JavaScript/Reference/Global_Objects/Proxy/Proxy
<h2 id="语法">语法</h2>
-<pre class="syntaxbox notranslate">new Proxy(<var>target</var>, <var>handler</var>)</pre>
+<pre class="syntaxbox">new Proxy(<var>target</var>, <var>handler</var>)</pre>
<h3 id="参数">参数</h3>
@@ -70,7 +70,7 @@ translation_of: Web/JavaScript/Reference/Global_Objects/Proxy/Proxy
<p>本例中,被代理对象有两个属性: <code>notProxied</code>  和 <code>proxied</code> 。我们定义了一个处理函数,它为 <code>proxied</code> 属性返回一个不同的值,而其他属性返回原值。</p>
-<pre class="brush: js notranslate">const target = {
+<pre class="brush: js">const target = {
notProxied: "original value",
proxied: "original value"
};
diff --git a/files/zh-cn/web/javascript/reference/global_objects/proxy/proxy/preventextensions/index.html b/files/zh-cn/web/javascript/reference/global_objects/proxy/proxy/preventextensions/index.html
index 51f7093d50..686169d215 100644
--- a/files/zh-cn/web/javascript/reference/global_objects/proxy/proxy/preventextensions/index.html
+++ b/files/zh-cn/web/javascript/reference/global_objects/proxy/proxy/preventextensions/index.html
@@ -14,7 +14,7 @@ original_slug: Web/JavaScript/Reference/Global_Objects/Proxy/handler/preventExte
<h2 id="语法">语法</h2>
-<pre class="brush: js notranslate">var p = new Proxy(target, {
+<pre class="brush: js">var p = new Proxy(target, {
preventExtensions: function(target) {
}
});
@@ -58,7 +58,7 @@ original_slug: Web/JavaScript/Reference/Global_Objects/Proxy/handler/preventExte
<p>以下代码演示了如何拦截{{jsxref("Object.preventExtensions()")}}。</p>
-<pre class="brush: js notranslate">var p = new Proxy({}, {
+<pre class="brush: js">var p = new Proxy({}, {
preventExtensions: function(target) {
console.log('called');
Object.preventExtensions(target);
@@ -72,7 +72,7 @@ console.log(Object.preventExtensions(p)); // "called"
<p>以下代码违反了约束.</p>
-<pre class="brush: js notranslate">var p = new Proxy({}, {
+<pre class="brush: js">var p = new Proxy({}, {
preventExtensions: function(target) {
return true;
}
diff --git a/files/zh-cn/web/javascript/reference/global_objects/reflect/construct/index.html b/files/zh-cn/web/javascript/reference/global_objects/reflect/construct/index.html
index b54e69bb3c..311c16ca50 100644
--- a/files/zh-cn/web/javascript/reference/global_objects/reflect/construct/index.html
+++ b/files/zh-cn/web/javascript/reference/global_objects/reflect/construct/index.html
@@ -9,7 +9,7 @@ translation_of: Web/JavaScript/Reference/Global_Objects/Reflect/construct
<h2 id="语法">语法</h2>
-<pre class="syntaxbox notranslate">Reflect.construct(target, argumentsList[, newTarget])
+<pre class="syntaxbox">Reflect.construct(target, argumentsList[, newTarget])
</pre>
<h3 id="参数">参数</h3>
@@ -35,14 +35,14 @@ translation_of: Web/JavaScript/Reference/Global_Objects/Reflect/construct
<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 notranslate">var obj = new Foo(...args);
+<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>
-<pre class="brush: js notranslate">function OneClass() {
+<pre class="brush: js">function OneClass() {
this.name = 'one';
}
@@ -72,7 +72,7 @@ console.log(obj2 instanceof OtherClass); // true</pre>
<p>当调用<code>Reflect.construct()</code>来创建对象,<code>new.target</code>值会自动指定到<code>target</code>(或者newTarget,前提是newTarget指定了)。</p>
-<pre class="brush: js notranslate">function OneClass() {
+<pre class="brush: js">function OneClass() {
console.log('OneClass');
console.log(new.target);
}
@@ -101,7 +101,7 @@ OneClass.apply(obj3, args);
<h3 id="使用_Reflect.construct">使用 <code>Reflect.construct()</code></h3>
-<pre class="brush: js notranslate">var d = Reflect.construct(Date, [1776, 6, 4]);
+<pre class="brush: js">var d = Reflect.construct(Date, [1776, 6, 4]);
d instanceof Date; // true
d.getFullYear(); // 1776
</pre>
diff --git a/files/zh-cn/web/javascript/reference/global_objects/reflect/defineproperty/index.html b/files/zh-cn/web/javascript/reference/global_objects/reflect/defineproperty/index.html
index 14882c24b9..9fc242fd8f 100644
--- a/files/zh-cn/web/javascript/reference/global_objects/reflect/defineproperty/index.html
+++ b/files/zh-cn/web/javascript/reference/global_objects/reflect/defineproperty/index.html
@@ -14,7 +14,7 @@ translation_of: Web/JavaScript/Reference/Global_Objects/Reflect/defineProperty
<h2 id="语法">语法</h2>
-<pre class="syntaxbox notranslate">Reflect.defineProperty(target, propertyKey, attributes)
+<pre class="syntaxbox">Reflect.defineProperty(target, propertyKey, attributes)
</pre>
<h3 id="参数">参数</h3>
@@ -48,7 +48,7 @@ translation_of: Web/JavaScript/Reference/Global_Objects/Reflect/defineProperty
<h3 id="使用_Reflect.defineProperty">使用 <code>Reflect.defineProperty()</code></h3>
-<pre class="notranslate">let obj = {}
+<pre>let obj = {}
Reflect.defineProperty(obj, 'x', {value: 7}) // true
obj.x // 7</pre>
@@ -56,7 +56,7 @@ obj.x // 7</pre>
<p>{{jsxref("Object.defineProperty")}} 方法,如果成功则返回一个对象,否则抛出一个 {{jsxref("TypeError")}} 。另外,当定义一个属性时,你也可以使用 <code><a href="/en-US/docs/Web/JavaScript/Reference/Statements/try...catch">try...catch</a></code> 去捕获其中任何的错误。而因为 <code>Reflect.defineProperty</code> 返回 Boolean 值作为成功的标识,所以只能使用 <code><a href="/en-US/docs/Web/JavaScript/Reference/Statements/if...else">if...else</a></code> :</p>
-<pre class="brush: js notranslate">if (Reflect.defineProperty(target, property, attributes)) {
+<pre class="brush: js">if (Reflect.defineProperty(target, property, attributes)) {
// 成功
} else {
// 失败
diff --git a/files/zh-cn/web/javascript/reference/global_objects/reflect/index.html b/files/zh-cn/web/javascript/reference/global_objects/reflect/index.html
index 4b430c4772..2b19f1fc92 100644
--- a/files/zh-cn/web/javascript/reference/global_objects/reflect/index.html
+++ b/files/zh-cn/web/javascript/reference/global_objects/reflect/index.html
@@ -55,7 +55,7 @@ translation_of: Web/JavaScript/Reference/Global_Objects/Reflect
<h3 id="检测一个对象是否存在特定属性">检测一个对象是否存在特定属性</h3>
-<pre class="notranslate">const duck = {
+<pre>const duck = {
name: 'Maurice',
color: 'white',
greeting: function() {
@@ -70,12 +70,12 @@ Reflect.has(duck, 'haircut');
<h3 id="返回这个对象自身的属性">返回这个对象自身的属性</h3>
-<pre class="notranslate">Reflect.ownKeys(duck);
+<pre>Reflect.ownKeys(duck);
// [ "name", "color", "greeting" ]</pre>
<h3 id="为这个对象添加一个新的属性">为这个对象添加一个新的属性</h3>
-<pre class="notranslate">Reflect.set(duck, 'eyes', 'black');
+<pre>Reflect.set(duck, 'eyes', 'black');
// returns "true" if successful
// "duck" now contains the property "eyes: 'black'"</pre>
diff --git a/files/zh-cn/web/javascript/reference/global_objects/regexp/index.html b/files/zh-cn/web/javascript/reference/global_objects/regexp/index.html
index 2a1e6ffcf5..a4ca838294 100644
--- a/files/zh-cn/web/javascript/reference/global_objects/regexp/index.html
+++ b/files/zh-cn/web/javascript/reference/global_objects/regexp/index.html
@@ -30,7 +30,7 @@ translation_of: Web/JavaScript/Reference/Global_Objects/RegExp
<p>以下三种表达式都会创建相同的正则表达式:</p>
-<pre class="brush: js notranslate" style="font-size: 14px;">/ab+c/i; //字面量形式
+<pre class="brush: js" style="font-size: 14px;">/ab+c/i; //字面量形式
new RegExp('ab+c', 'i'); // 首个参数为字符串模式的构造函数
new RegExp(/ab+c/, 'i'); // 首个参数为常规字面量的构造函数</pre>
@@ -46,7 +46,7 @@ new RegExp(/ab+c/, 'i'); // 首个参数为常规字面量的构造函数</pre>
<p>比如,以下是等价的:</p>
-<pre class="brush: js notranslate">var re = new RegExp("\\w+");
+<pre class="brush: js">var re = new RegExp("\\w+");
var re = /\w+/;</pre>
<h3 id="Perl-like_RegExp_属性">Perl-like RegExp 属性</h3>
@@ -123,7 +123,7 @@ var re = /\w+/;</pre>
<p>在替换的文本中,脚本中使用 <code>$1</code> 和 <code>$2</code> 指明括号里先前的匹配.</p>
-<pre class="brush: js notranslate">let re = /(\w+)\s(\w+)/;
+<pre class="brush: js">let re = /(\w+)\s(\w+)/;
let str = "John Smith";
let newstr = str.replace(re, "$2, $1");
console.log(newstr);
@@ -135,7 +135,7 @@ console.log(newstr);
<p>对于不同的平台(Unix,Windows等等),其默认的行结束符是不一样的. 而下面的划分方式适用于所有平台。</p>
-<pre class="notranslate">let text = 'Some text\nAnd some more\r\nAnd yet\rThis is the end'
+<pre>let text = 'Some text\nAnd some more\r\nAnd yet\rThis is the end'
let lines = text.split(/\r\n|\r|\n/)
console.log(lines) // logs [ 'Some text', 'And some more', 'And yet', 'This is the end' ]
</pre>
@@ -144,7 +144,7 @@ console.log(lines) // logs [ 'Some text', 'And some more', 'And yet', 'This is t
<h3 id="在多行文本中使用正则表达式">在多行文本中使用正则表达式</h3>
-<pre class="brush: js notranslate">let s = "Please yes\nmake my day!";
+<pre class="brush: js">let s = "Please yes\nmake my day!";
s.match(/yes.*day/);
// Returns null
@@ -156,7 +156,7 @@ s.match(/yes[^]*day/);
<p>带有{{JSxRef("Global_Objects/RegExp/sticky", "sticky")}}标志的正则表达式将会从源字符串的{{jsxref("RegExp.prototype.lastIndex")}}位置开始匹配,也就是进行“粘性匹配”。</p>
-<pre class="brush: js notranslate">let str = '#foo#'
+<pre class="brush: js">let str = '#foo#'
let regex = /foo/y
regex.lastIndex = 1
@@ -169,7 +169,7 @@ regex.lastIndex // 0 (reset after match failure)</pre>
<p>如果正则表达式有粘性 <code>y</code> 标志,下一次匹配一定在 <code>lastIndex</code> 位置开始;如果正则表达式有全局 <code>g</code> 标志,下一次匹配可能在 <code>lastIndex</code> 位置开始,也可能在这个位置的后面开始。</p>
-<pre class="brush: js notranslate">re = /\d/y;
+<pre class="brush: js">re = /\d/y;
while (r = re.exec("123 456")) console.log(r, "AND re.lastIndex", re.lastIndex);
// [ '1', index: 0, input: '123 456', groups: undefined ] AND re.lastIndex 1
@@ -187,7 +187,7 @@ while (r = re.exec("123 456")) console.log(r, "AND re.lastIndex", re.lastIndex);
<p>下例展示了怎样从一个单词中分离出 Unicode 字符。</p>
-<pre class="brush: js notranslate">let text = "Образец text на русском языке";
+<pre class="brush: js">let text = "Образец text на русском языке";
let regex = /[\u0400-\u04FF]+/g;
let match = regex.exec(text);
@@ -204,7 +204,7 @@ console.log(regex.lastIndex); // prints "15"
<h3 id="从_URL_中提取子域名">从 URL 中提取子域名</h3>
-<pre class="brush: js notranslate">var url = "http://xxx.domain.com";
+<pre class="brush: js">var url = "http://xxx.domain.com";
console.log(/[^.]+/.exec(url)[0].substr(7)); // logs "xxx"
</pre>
@@ -248,7 +248,7 @@ console.log(/[^.]+/.exec(url)[0].substr(7)); // logs "xxx"
<p>Starting with Gecko 34 {{geckoRelease(34)}}, in the case of a capturing group with quantifiers preventing its exercise, the matched text for a capturing group is now <code>undefined</code> instead of an empty string:</p>
-<pre class="notranslate"><code>// Firefox 33 or older
+<pre><code>// Firefox 33 or older
'x'.replace(/x(.)?/g, function(m, group) {
console.log("'group:" + group + "'");
}); // 'group:'
diff --git a/files/zh-cn/web/javascript/reference/global_objects/regexp/regexp/index.html b/files/zh-cn/web/javascript/reference/global_objects/regexp/regexp/index.html
index 1457ab4f59..008b4d7d76 100644
--- a/files/zh-cn/web/javascript/reference/global_objects/regexp/regexp/index.html
+++ b/files/zh-cn/web/javascript/reference/global_objects/regexp/regexp/index.html
@@ -17,7 +17,7 @@ translation_of: Web/JavaScript/Reference/Global_Objects/RegExp/RegExp
<p>可以使用字面量、构造函数和工厂方法来创建正则表达式</p>
-<pre class="syntaxbox notranslate">/<var>pattern</var>/<var>flags</var>
+<pre class="syntaxbox">/<var>pattern</var>/<var>flags</var>
new RegExp(<var>pattern</var>[, <var>flags</var>])
RegExp(<var>pattern</var>[, <var>flags</var>])
</pre>
@@ -68,7 +68,7 @@ RegExp(<var>pattern</var>[, <var>flags</var>])
<p>以下三个表达式创建相同的正则表达式:</p>
-<pre class="brush: js notranslate">/ab+c/i
+<pre class="brush: js">/ab+c/i
new RegExp(/ab+c/, 'i') // 字面量
new RegExp('ab+c', 'i') // 构造函数
</pre>
diff --git a/files/zh-cn/web/javascript/reference/global_objects/regexp/test/index.html b/files/zh-cn/web/javascript/reference/global_objects/regexp/test/index.html
index 24ddd6daa0..d1f4ed7183 100644
--- a/files/zh-cn/web/javascript/reference/global_objects/regexp/test/index.html
+++ b/files/zh-cn/web/javascript/reference/global_objects/regexp/test/index.html
@@ -19,7 +19,7 @@ translation_of: Web/JavaScript/Reference/Global_Objects/RegExp/test
<h2 id="Syntax" name="Syntax">语法</h2>
-<pre class="notranslate"><var>regexObj</var>.test(str)</pre>
+<pre><var>regexObj</var>.test(str)</pre>
<h3 id="Parameters" name="Parameters">参数</h3>
@@ -42,7 +42,7 @@ translation_of: Web/JavaScript/Reference/Global_Objects/RegExp/test
<p>一个简单的例子,测试 "hello" 是否包含在字符串的最开始,返回布尔值。</p>
-<pre class="brush: js notranslate">let str = 'hello world!';
+<pre class="brush: js">let str = 'hello world!';
let result = /^hello/.test(str);
console.log(result);
// true
@@ -50,7 +50,7 @@ console.log(result);
<p>下例打印一条信息,该信息内容取决于是否成功通过指定测试:</p>
-<pre class="brush: js notranslate">function testinput(re, str){
+<pre class="brush: js">function testinput(re, str){
var midstring;
if (re.test(str)) {
midstring = " contains ";
@@ -67,7 +67,7 @@ console.log(result);
<p>下面的实例表现了这种行为: </p>
-<pre class="brush: js notranslate">var regex = /foo/g;
+<pre class="brush: js">var regex = /foo/g;
// regex.lastIndex is at 0
regex.test('foo'); // true
diff --git a/files/zh-cn/web/javascript/reference/global_objects/set/@@iterator/index.html b/files/zh-cn/web/javascript/reference/global_objects/set/@@iterator/index.html
index fa3f7c61e5..8ab98bf9ee 100644
--- a/files/zh-cn/web/javascript/reference/global_objects/set/@@iterator/index.html
+++ b/files/zh-cn/web/javascript/reference/global_objects/set/@@iterator/index.html
@@ -19,7 +19,7 @@ translation_of: Web/JavaScript/Reference/Global_Objects/Set/@@iterator
<h2 id="Syntax">Syntax</h2>
-<pre class="syntaxbox notranslate"><code><em>mySet</em>[Symbol.iterator]</code></pre>
+<pre class="syntaxbox"><code><em>mySet</em>[Symbol.iterator]</code></pre>
<h3 id="Return_value">Return value</h3>
@@ -29,7 +29,7 @@ translation_of: Web/JavaScript/Reference/Global_Objects/Set/@@iterator
<h3 id="Using_iterator">Using <code>[@@iterator]()</code></h3>
-<pre class="brush:js notranslate">const mySet = new Set();
+<pre class="brush:js">const mySet = new Set();
mySet.add('0');
mySet.add(1);
mySet.add({});
@@ -43,7 +43,7 @@ console.log(setIter.next().value); // Object
<h3 id="Using_iterator_with_for..of">Using <code>[@@iterator]()</code> with <code>for..of</code></h3>
-<pre class="brush:js notranslate">const mySet = new Set();
+<pre class="brush:js">const mySet = new Set();
mySet.add('0');
mySet.add(1);
mySet.add({});
diff --git a/files/zh-cn/web/javascript/reference/global_objects/set/@@species/index.html b/files/zh-cn/web/javascript/reference/global_objects/set/@@species/index.html
index c950ccbf5a..c8da916aac 100644
--- a/files/zh-cn/web/javascript/reference/global_objects/set/@@species/index.html
+++ b/files/zh-cn/web/javascript/reference/global_objects/set/@@species/index.html
@@ -21,13 +21,13 @@ translation_of: Web/JavaScript/Reference/Global_Objects/Set/@@species
<p>species 属性返回默认的构造函数, 它是<code>Set</code> 对象的构造函数:</p>
-<pre class="brush: js notranslate">Set[Symbol.species]; // function Set()</pre>
+<pre class="brush: js">Set[Symbol.species]; // function Set()</pre>
<h3 id="派生对象中的_Species">派生对象中的 Species</h3>
<p>在一个派生集合对象中 (比如你自定义的<code>MySet</code>集合),  <code>MySet</code> 的species 属性 是 <code>MySet</code> 构造函数. 又或者, 你想要重写它, 让它能在你派生的类方法中能返回父级<code>Set</code> 对象:</p>
-<pre class="brush: js notranslate">class MySet extends Set {
+<pre class="brush: js">class MySet extends Set {
// Overwrite MySet species to the parent Set constructor
static get [Symbol.species]() { return Set; }
}</pre>
diff --git a/files/zh-cn/web/javascript/reference/global_objects/set/add/index.html b/files/zh-cn/web/javascript/reference/global_objects/set/add/index.html
index 255379d70c..dac50ccb29 100644
--- a/files/zh-cn/web/javascript/reference/global_objects/set/add/index.html
+++ b/files/zh-cn/web/javascript/reference/global_objects/set/add/index.html
@@ -20,7 +20,7 @@ translation_of: Web/JavaScript/Reference/Global_Objects/Set/add
<h2 id="Syntax" name="Syntax">语法</h2>
-<pre class="syntaxbox notranslate"><code><em>mySet</em>.add(value);</code></pre>
+<pre class="syntaxbox"><code><em>mySet</em>.add(value);</code></pre>
<h3 id="参数">参数</h3>
@@ -37,7 +37,7 @@ translation_of: Web/JavaScript/Reference/Global_Objects/Set/add
<h2 id="Examples" name="Examples">示例</h2>
-<pre class="brush: js notranslate">var mySet = new Set();
+<pre class="brush: js">var mySet = new Set();
mySet.add(1);
mySet.add(5).add("some text"); // 可以链式调用
diff --git a/files/zh-cn/web/javascript/reference/global_objects/set/index.html b/files/zh-cn/web/javascript/reference/global_objects/set/index.html
index 3e8c53dc64..682edbc181 100644
--- a/files/zh-cn/web/javascript/reference/global_objects/set/index.html
+++ b/files/zh-cn/web/javascript/reference/global_objects/set/index.html
@@ -71,7 +71,7 @@ translation_of: Web/JavaScript/Reference/Global_Objects/Set
<h3 id="使用Set对象">使用<code>Set</code>对象</h3>
-<pre class="brush: js notranslate">let mySet = new Set();
+<pre class="brush: js">let mySet = new Set();
mySet.add(1); // Set [ 1 ]
mySet.add(5); // Set [ 1, 5 ]
@@ -102,7 +102,7 @@ console.log(mySet);
<h3 id="迭代Set">迭代Set</h3>
-<pre class="brush: js notranslate">// 迭代整个set
+<pre class="brush: js">// 迭代整个set
// 按顺序输出:1, "some text", {"a": 1, "b": 2}, {"a": 1, "b": 2}
for (let item of mySet) console.log(item);
@@ -147,7 +147,7 @@ mySet.forEach(function(value) {
<h3 id="实现基本集合操作">实现基本集合操作</h3>
-<pre class="brush: js notranslate">function isSuperset(set, subset) {
+<pre class="brush: js">function isSuperset(set, subset) {
for (let elem of subset) {
if (!set.has(elem)) {
return false;
@@ -208,7 +208,7 @@ difference(setA, setC); // =&gt; Set [1, 2]
<h3 id="Array_相关"> <code>Array</code> 相关</h3>
-<pre class="brush: js notranslate">let myArray = ["value1", "value2", "value3"];
+<pre class="brush: js">let myArray = ["value1", "value2", "value3"];
// 用Set构造器将Array转换为Set
let mySet = new Set(myArray);
@@ -221,7 +221,7 @@ console.log([...mySet]); // 与myArray完全一致
<h3 id="数组去重">数组去重</h3>
-<pre class="brush: js notranslate">// Use to remove duplicate elements from the array
+<pre class="brush: js">// Use to remove duplicate elements from the array
const numbers = [2,3,4,4,2,3,3,4,4,5,5,6,6,7,5,32,3,4,5]
console.log([...new Set(numbers)])
// [2, 3, 4, 5, 6, 7, 32]
@@ -229,7 +229,7 @@ console.log([...new Set(numbers)])
<h3 id="String_相关"><code>String</code> 相关</h3>
-<pre class="brush: js notranslate">let text = 'India';
+<pre class="brush: js">let text = 'India';
let mySet = new Set(text); // Set {'I', 'n', 'd', 'i', 'a'}
mySet.size; // 5
diff --git a/files/zh-cn/web/javascript/reference/global_objects/set/set/index.html b/files/zh-cn/web/javascript/reference/global_objects/set/set/index.html
index a3ae2c0278..7a19f9526a 100644
--- a/files/zh-cn/web/javascript/reference/global_objects/set/set/index.html
+++ b/files/zh-cn/web/javascript/reference/global_objects/set/set/index.html
@@ -18,7 +18,7 @@ translation_of: Web/JavaScript/Reference/Global_Objects/Set/Set
<h2 id="Syntax">Syntax</h2>
-<pre class="syntaxbox notranslate">new Set([<var>iterable</var>])</pre>
+<pre class="syntaxbox">new Set([<var>iterable</var>])</pre>
<h3 id="Parameters">Parameters</h3>
@@ -36,7 +36,7 @@ translation_of: Web/JavaScript/Reference/Global_Objects/Set/Set
<h3 id="Using_the_Set_object">Using the <code>Set</code> object</h3>
-<pre class="brush: js notranslate">let mySet = new Set()
+<pre class="brush: js">let mySet = new Set()
mySet.add(1) // Set [ 1 ]
mySet.add(5) // Set [ 1, 5 ]
diff --git a/files/zh-cn/web/javascript/reference/global_objects/set/values/index.html b/files/zh-cn/web/javascript/reference/global_objects/set/values/index.html
index 846bd7421d..e8a5f552e6 100644
--- a/files/zh-cn/web/javascript/reference/global_objects/set/values/index.html
+++ b/files/zh-cn/web/javascript/reference/global_objects/set/values/index.html
@@ -22,7 +22,7 @@ translation_of: Web/JavaScript/Reference/Global_Objects/Set/values
<h2 id="语法">语法</h2>
-<pre class="syntaxbox notranslate"><code><em>mySet</em>.values();
+<pre class="syntaxbox"><code><em>mySet</em>.values();
</code></pre>
<h3 id="返回值">返回值</h3>
@@ -33,7 +33,7 @@ translation_of: Web/JavaScript/Reference/Global_Objects/Set/values
<h3 id="使用_values">使用 <code>values()</code></h3>
-<pre class="brush:js notranslate">var mySet = new Set();
+<pre class="brush:js">var mySet = new Set();
mySet.add('foo');
mySet.add('bar');
mySet.add('baz');
diff --git a/files/zh-cn/web/javascript/reference/global_objects/string/charcodeat/index.html b/files/zh-cn/web/javascript/reference/global_objects/string/charcodeat/index.html
index 8c683db768..e0c7b1168f 100644
--- a/files/zh-cn/web/javascript/reference/global_objects/string/charcodeat/index.html
+++ b/files/zh-cn/web/javascript/reference/global_objects/string/charcodeat/index.html
@@ -22,7 +22,7 @@ translation_of: Web/JavaScript/Reference/Global_Objects/String/charCodeAt
<h2 id="语法">语法</h2>
-<pre class="syntaxbox notranslate"><code><em>str</em>.charCodeAt(<em>index</em>)</code></pre>
+<pre class="syntaxbox"><code><em>str</em>.charCodeAt(<em>index</em>)</code></pre>
<h3 id="参数">参数</h3>
@@ -55,7 +55,7 @@ translation_of: Web/JavaScript/Reference/Global_Objects/String/charCodeAt
<p>下例介绍了不同索引情况下返回的 Unicode 值:</p>
-<pre class="brush: js notranslate">"ABC".charCodeAt(0) // returns 65:"A"
+<pre class="brush: js">"ABC".charCodeAt(0) // returns 65:"A"
"ABC".charCodeAt(1) // returns 66:"B"
@@ -67,7 +67,7 @@ translation_of: Web/JavaScript/Reference/Global_Objects/String/charCodeAt
<p>这段代码可以被用在 for 循环和其他类似语句中,当在指定引索之前不确定是否有非BMP字符存在时。</p>
-<pre class="brush:js notranslate">function fixedCharCodeAt (str, idx) {
+<pre class="brush:js">function fixedCharCodeAt (str, idx) {
// ex. fixedCharCodeAt ('\uD800\uDC00', 0); // 65536
// ex. fixedCharCodeAt ('\uD800\uDC00', 1); // false
idx = idx || 0;
@@ -98,7 +98,7 @@ translation_of: Web/JavaScript/Reference/Global_Objects/String/charCodeAt
<h3 id="使用_charCodeAt_修复字符串中出现的已知的非BMP字符">使用 <code>charCodeAt()</code> 修复字符串中出现的已知的非BMP字符</h3>
-<pre class="brush:js notranslate">function knownCharCodeAt (str, idx) {
+<pre class="brush:js">function knownCharCodeAt (str, idx) {
str += '';
var code,
end = str.length;
diff --git a/files/zh-cn/web/javascript/reference/global_objects/string/concat/index.html b/files/zh-cn/web/javascript/reference/global_objects/string/concat/index.html
index ee2d8dd06d..7b53403ac2 100644
--- a/files/zh-cn/web/javascript/reference/global_objects/string/concat/index.html
+++ b/files/zh-cn/web/javascript/reference/global_objects/string/concat/index.html
@@ -14,7 +14,7 @@ translation_of: Web/JavaScript/Reference/Global_Objects/String/concat
<h2 id="Syntax" name="Syntax">语法</h2>
-<pre class="notranslate"><code><var>str</var>.concat(<var>str2</var>, [, ...<var>strN</var>])</code></pre>
+<pre><code><var>str</var>.concat(<var>str2</var>, [, ...<var>strN</var>])</code></pre>
<h3 id="Parameters" name="Parameters">参数</h3>
@@ -43,7 +43,7 @@ translation_of: Web/JavaScript/Reference/Global_Objects/String/concat
<p>下面的例子演示如何将多个字符串与原字符串合并为一个新字符串</p>
-<pre class="brush: js notranslate">let hello = 'Hello, '
+<pre class="brush: js">let hello = 'Hello, '
console.log(hello.concat('Kevin', '. Have a nice day.'))
// Hello, Kevin. Have a nice day.
diff --git a/files/zh-cn/web/javascript/reference/global_objects/string/endswith/index.html b/files/zh-cn/web/javascript/reference/global_objects/string/endswith/index.html
index fb6728a8a0..dd5597701e 100644
--- a/files/zh-cn/web/javascript/reference/global_objects/string/endswith/index.html
+++ b/files/zh-cn/web/javascript/reference/global_objects/string/endswith/index.html
@@ -23,7 +23,7 @@ translation_of: Web/JavaScript/Reference/Global_Objects/String/endsWith
<h2 id="语法">语法</h2>
-<pre class="syntaxbox notranslate"><var>str</var>.endsWith(<var>searchString</var>[, <var>length</var>])</pre>
+<pre class="syntaxbox"><var>str</var>.endsWith(<var>searchString</var>[, <var>length</var>])</pre>
<h3 id="参数">参数</h3>
@@ -46,7 +46,7 @@ translation_of: Web/JavaScript/Reference/Global_Objects/String/endsWith
<p>这个方法已经加入到 ECMAScript 6 标准当中,但是可能还没有在所有的  JavaScript 实现中可用。然而,你可以通过如下的代码片段扩展 <code>String.prototype.endsWith()</code> 实现兼容:</p>
-<pre class="brush: js notranslate">if (!String.prototype.endsWith) {
+<pre class="brush: js">if (!String.prototype.endsWith) {
String.prototype.endsWith = function(search, this_len) {
if (this_len === undefined || this_len &gt; this.length) {
this_len = this.length;
@@ -60,7 +60,7 @@ translation_of: Web/JavaScript/Reference/Global_Objects/String/endsWith
<h3 id="使用_endsWith">使用 <code>endsWith()</code></h3>
-<pre class="brush:js; notranslate">var str = "To be, or not to be, that is the question.";
+<pre class="brush:js;">var str = "To be, or not to be, that is the question.";
alert( str.endsWith("question.") ); // true
alert( str.endsWith("to be") ); // false
diff --git a/files/zh-cn/web/javascript/reference/global_objects/string/fromcharcode/index.html b/files/zh-cn/web/javascript/reference/global_objects/string/fromcharcode/index.html
index fd399adab7..3ac0a6a122 100644
--- a/files/zh-cn/web/javascript/reference/global_objects/string/fromcharcode/index.html
+++ b/files/zh-cn/web/javascript/reference/global_objects/string/fromcharcode/index.html
@@ -16,7 +16,7 @@ translation_of: Web/JavaScript/Reference/Global_Objects/String/fromCharCode
<h2 id="Syntax" name="Syntax">语法</h2>
-<pre class="syntaxbox notranslate"><code>String.fromCharCode(<var>num1</var>[, ...[, <var>numN</var>]])</code></pre>
+<pre class="syntaxbox"><code>String.fromCharCode(<var>num1</var>[, ...[, <var>numN</var>]])</code></pre>
<h3 id="Parameters" name="Parameters">参数</h3>
@@ -49,7 +49,7 @@ translation_of: Web/JavaScript/Reference/Global_Objects/String/fromCharCode
<p>在 UTF-16 中,BMP 字符使用一个代码单元:</p>
-<pre class="brush: js notranslate">String.fromCharCode(65, 66, 67); // 返回 "ABC"
+<pre class="brush: js">String.fromCharCode(65, 66, 67); // 返回 "ABC"
String.fromCharCode(0x2014); // 返回 "—"
String.fromCharCode(0x12014); // 也是返回 "—"; 数字 1 被剔除并忽略
String.fromCharCode(8212); // 也是返回 "—"; 8212 是 0x2014 的十进制表示
@@ -58,7 +58,7 @@ String.fromCharCode(8212); // 也是返回 "—"; 8212 是 0x2014 的十
<p><a href="https://asecuritysite.com/coding/asc2">完整的 UTF 16 表格</a>.<br>
在 UTF-16 中,补充字符需要两个代码单元(即一个代理对):</p>
-<pre class="brush: js notranslate">String.fromCharCode(0xD83C, 0xDF03); // Code Point U+1F303 "Night with
+<pre class="brush: js">String.fromCharCode(0xD83C, 0xDF03); // Code Point U+1F303 "Night with
String.fromCharCode(55356, 57091); // Stars" == "\uD83C\uDF03"
String.fromCharCode(0xD834, 0xDF06, 0x61, 0xD834, 0xDF07); // "\uD834\uDF06a\uD834\uDF07"
diff --git a/files/zh-cn/web/javascript/reference/global_objects/string/includes/index.html b/files/zh-cn/web/javascript/reference/global_objects/string/includes/index.html
index 83ced4b38a..672a34166f 100644
--- a/files/zh-cn/web/javascript/reference/global_objects/string/includes/index.html
+++ b/files/zh-cn/web/javascript/reference/global_objects/string/includes/index.html
@@ -16,7 +16,7 @@ translation_of: Web/JavaScript/Reference/Global_Objects/String/includes
<h2 id="Syntax" name="Syntax">语法</h2>
-<pre class="syntaxbox notranslate"><var>str</var>.includes(<var>searchString</var>[, <var>position</var>])</pre>
+<pre class="syntaxbox"><var>str</var>.includes(<var>searchString</var>[, <var>position</var>])</pre>
<h3 id="参数">参数</h3>
@@ -39,13 +39,13 @@ translation_of: Web/JavaScript/Reference/Global_Objects/String/includes
<p><code>includes()</code> 方法是区分大小写的。例如,下面的表达式会返回 <strong><code>false</code></strong> :</p>
-<pre class="notranslate"><code>'Blue Whale'.includes('blue'); // returns false</code></pre>
+<pre><code>'Blue Whale'.includes('blue'); // returns false</code></pre>
<h2 id="兼容补丁">兼容补丁</h2>
<p>这个方法已经被加入到 ECMAScript 6 标准中,但未必在所有的 JavaScript 实现中都可以使用。然而,你可以轻松地 polyfill 这个方法:</p>
-<pre class="notranslate"><code>if (!String.prototype.includes) {
+<pre><code>if (!String.prototype.includes) {
String.prototype.includes = function(search, start) {
'use strict';
if (typeof start !== 'number') {
@@ -64,7 +64,7 @@ translation_of: Web/JavaScript/Reference/Global_Objects/String/includes
<h3 id="使用_includes">使用 includes()</h3>
-<pre class="notranslate"><code>var str = 'To be, or not to be, that is the question.';
+<pre><code>var str = 'To be, or not to be, that is the question.';
console.log(str.includes('To be')); // true
console.log(str.includes('question')); // true
diff --git a/files/zh-cn/web/javascript/reference/global_objects/string/indexof/index.html b/files/zh-cn/web/javascript/reference/global_objects/string/indexof/index.html
index 21434132e5..80213be40f 100644
--- a/files/zh-cn/web/javascript/reference/global_objects/string/indexof/index.html
+++ b/files/zh-cn/web/javascript/reference/global_objects/string/indexof/index.html
@@ -22,7 +22,7 @@ translation_of: Web/JavaScript/Reference/Global_Objects/String/indexOf
<h2 id="语法">语法</h2>
-<pre class="notranslate"><var>str</var>.indexOf(<var>searchValue [</var>, <var>fromIndex]</var>)</pre>
+<pre><var>str</var>.indexOf(<var>searchValue [</var>, <var>fromIndex]</var>)</pre>
<h3 id="参数">参数</h3>
@@ -43,14 +43,14 @@ translation_of: Web/JavaScript/Reference/Global_Objects/String/indexOf
<p>若被查找的字符串 <code><var>searchValue</var></code><var> </var>是一个空字符串,将会产生“奇怪”的结果。如果 <code>fromIndex</code> 值为空,或者 <code>fromIndex</code> 值小于被查找的字符串的长度,返回值和以下的 <code>fromIndex</code> 值一样:</p>
-<pre class="brush: js notranslate">'hello world'.indexOf('') // 返回 0
+<pre class="brush: js">'hello world'.indexOf('') // 返回 0
'hello world'.indexOf('', 0) // 返回 0
'hello world'.indexOf('', 3) // 返回 3
'hello world'.indexOf('', 8) // 返回 8</pre>
<p>另外,如果 <code>fromIndex</code> 值大于等于字符串的长度,将会直接返回字符串的长度(<code>str.length</code>):</p>
-<pre class="brush: js notranslate">'hello world'.indexOf('', 11) // 返回 11
+<pre class="brush: js">'hello world'.indexOf('', 11) // 返回 11
'hello world'.indexOf('', 13) // 返回 11
'hello world'.indexOf('', 22) // 返回 11</pre>
@@ -60,7 +60,7 @@ translation_of: Web/JavaScript/Reference/Global_Objects/String/indexOf
<p>字符串中的字符被从左向右索引。第一个字符的索引(index)是 <code>0</code>,变量名为 <code>stringName</code> 的字符串的最后一个字符的索引是 <code>stringName.length - 1</code> 。</p>
-<pre class="brush: js notranslate">"Blue Whale".indexOf("Blue") // 返回 0
+<pre class="brush: js">"Blue Whale".indexOf("Blue") // 返回 0
"Blue Whale".indexOf("Blute") // 返回 -1
"Blue Whale".indexOf("Whale", 0) // 返回 5
"Blue Whale".indexOf("Whale", 5) // 返回 5
@@ -71,14 +71,14 @@ translation_of: Web/JavaScript/Reference/Global_Objects/String/indexOf
<p id="Example_indexOf_and_case-sensitivity"><code>indexOf</code> 方法是区分大小写的。例如,下面的表达式将返回 <code>-1</code>:</p>
-<pre class="brush: js notranslate">"Blue Whale".indexOf("blue") // 返回 -1
+<pre class="brush: js">"Blue Whale".indexOf("blue") // 返回 -1
</pre>
<h3 id="检测是否存在某字符串">检测是否存在某字符串</h3>
<p>注意 <code>0</code> 并不会被当成 <code>true</code> ,<code>-1</code> 不会被当成 <code>false</code> 。所以当检测某个字符串是否存在于另一个字符串中时,可使用下面的方法:</p>
-<pre class="notranslate">'Blue Whale'.indexOf('Blue') !== -1 // true
+<pre>'Blue Whale'.indexOf('Blue') !== -1 // true
'Blue Whale'.indexOf('Bloe') !== -1 // false
~('Blue Whale'.indexOf('Bloe')) // 0, 这是一种错误用法</pre>
@@ -88,7 +88,7 @@ translation_of: Web/JavaScript/Reference/Global_Objects/String/indexOf
<p>下例使用 <code>indexOf()</code> 和 <code>lastIndexOf()</code> 方法定位字符串中 "<code>Brave new world</code>" 的值。</p>
-<pre class="brush: js notranslate">var anyString = "Brave new world";
+<pre class="brush: js">var anyString = "Brave new world";
console.log("The index of the first w from the beginning is " + anyString.indexOf("w"));
// logs 8
@@ -105,7 +105,7 @@ console.log("The index of 'new' from the end is " + anyString.lastIndexOf("new")
<p>下例定义了两个字符串变量。两个变量包含相同的字符串,除了第二个字符串中的某些字符为大写。第一个 <code>log</code> 方法输出 19。但是由于 <code>indexOf</code> 方法区分大小写,因此不会在 <code>myCapString</code> 中发现字符串 <code>“cheddar"</code>,所以,第二个 <code>log</code> 方法会输出 -1。</p>
-<pre class="brush: js notranslate">var myString = "brie, pepper jack, cheddar";
+<pre class="brush: js">var myString = "brie, pepper jack, cheddar";
var myCapString = "Brie, Pepper Jack, Cheddar";
console.log('myString.indexOf("cheddar") is ' + myString.indexOf("cheddar"));
@@ -117,7 +117,7 @@ console.log('myCapString.indexOf("cheddar") is ' + myCapString.indexOf("cheddar"
<p>在下例中,设置了 <code>count</code> 来记录字母 <code>e</code> 在字符串 <code>str</code> 中出现的次数:</p>
-<pre class="brush: js notranslate">// 翻译:生存还是毁灭?这是个问题。(莎士比亚《哈姆雷特》)
+<pre class="brush: js">// 翻译:生存还是毁灭?这是个问题。(莎士比亚《哈姆雷特》)
var str = 'To be, or not to be, that is the question.';
var count = 0;
var pos = str.indexOf('e');
diff --git a/files/zh-cn/web/javascript/reference/global_objects/string/localecompare/index.html b/files/zh-cn/web/javascript/reference/global_objects/string/localecompare/index.html
index 1bdd45c95e..bf0e8ad0fb 100644
--- a/files/zh-cn/web/javascript/reference/global_objects/string/localecompare/index.html
+++ b/files/zh-cn/web/javascript/reference/global_objects/string/localecompare/index.html
@@ -19,7 +19,7 @@ translation_of: Web/JavaScript/Reference/Global_Objects/String/localeCompare
<h2 id="语法">语法</h2>
-<pre class="syntaxbox notranslate"><code><var>referenceStr</var>.localeCompare(<var>compareString</var>[, <var>locales</var>[, <var>options</var>]])</code></pre>
+<pre class="syntaxbox"><code><var>referenceStr</var>.localeCompare(<var>compareString</var>[, <var>locales</var>[, <var>options</var>]])</code></pre>
<h3 id="参数">参数</h3>
@@ -90,7 +90,7 @@ translation_of: Web/JavaScript/Reference/Global_Objects/String/localeCompare
<h3 id="使用_localeCompare">使用 <code>localeCompare()</code></h3>
-<pre class="brush: js notranslate">// The letter "a" is before "c" yielding a negative value
+<pre class="brush: js">// The letter "a" is before "c" yielding a negative value
'a'.localeCompare('c');
// -2 or -1 (or some other negative value)
@@ -107,7 +107,7 @@ translation_of: Web/JavaScript/Reference/Global_Objects/String/localeCompare
<p><code>locales</code> 和 <code>options</code> 参数还没有被所有浏览器所支持。检查是否被支持, 使用 "i" 参数 (a requirement that illegal language tags are rejected) 判断是否有异常 {{jsxref("RangeError")}}抛出:</p>
-<pre class="brush: js notranslate">function localeCompareSupportsLocales() {
+<pre class="brush: js">function localeCompareSupportsLocales() {
try {
'foo'.localeCompare​('bar', 'i');
} catch (e) {
@@ -121,7 +121,7 @@ translation_of: Web/JavaScript/Reference/Global_Objects/String/localeCompare
<p>在不同的语言下 <code>localeCompare()</code> 所提供的结果是不一致的。 为了能让用户得到正确的比较值, 通过使用 <code>locales</code> 参数来提供要比较的语言 (and possibly some fallback languages) :</p>
-<pre class="brush: js notranslate">console.log('ä'.localeCompare('z', 'de')); // a negative value: in German, ä sorts with a
+<pre class="brush: js">console.log('ä'.localeCompare('z', 'de')); // a negative value: in German, ä sorts with a
console.log('ä'.localeCompare('z', 'sv')); // a positive value: in Swedish, ä sorts after z
</pre>
@@ -129,7 +129,7 @@ console.log('ä'.localeCompare('z', 'sv')); // a positive value: in Swedish, ä
<p><code>localeCompare()</code> 所提供的结果可以通过 <code>options</code> 参数来制定:</p>
-<pre class="brush: js notranslate">// in German, ä has a as the base letter
+<pre class="brush: js">// in German, ä has a as the base letter
console.log('ä'.localeCompare('a', 'de', { sensitivity: 'base' })); // 0
// in Swedish, ä and a are separate base letters
diff --git a/files/zh-cn/web/javascript/reference/global_objects/string/match/index.html b/files/zh-cn/web/javascript/reference/global_objects/string/match/index.html
index cc979f7ffe..5f5b701e63 100644
--- a/files/zh-cn/web/javascript/reference/global_objects/string/match/index.html
+++ b/files/zh-cn/web/javascript/reference/global_objects/string/match/index.html
@@ -14,7 +14,7 @@ translation_of: Web/JavaScript/Reference/Global_Objects/String/match
<h2 id="Syntax" name="Syntax">语法</h2>
-<pre class="syntaxbox notranslate"><code><em>str</em>.match(regexp)</code></pre>
+<pre class="syntaxbox"><code><em>str</em>.match(regexp)</code></pre>
<h3 id="Parameters" name="Parameters">参数</h3>
@@ -62,7 +62,7 @@ translation_of: Web/JavaScript/Reference/Global_Objects/String/match
<p>在下例中,使用 <code>match</code> 查找 "<code>Chapter</code>" 紧跟着 1 个或多个数值字符,再紧跟着一个小数点和数值字符 0 次或多次。正则表达式包含 <code>i</code> 标志,因此大小写会被忽略。</p>
-<pre class="brush: js line-numbers language-js notranslate"><code class="language-js">var str = 'For more information, see Chapter 3.4.5.1';
+<pre class="brush: js line-numbers language-js"><code class="language-js">var str = 'For more information, see Chapter 3.4.5.1';
var re = /see (chapter \d+(\.\d)*)/i;
var found = str.match(re);
@@ -84,7 +84,7 @@ console.log(found);
<p>下例展示了 <code>match</code> 使用 global 和 ignore case 标志。A-E、a-e 的所有字母将会作为一个数组的元素返回。</p>
-<pre class="brush: js line-numbers language-js notranslate"><code class="language-js">var str = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz';
+<pre class="brush: js line-numbers language-js"><code class="language-js">var str = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz';
var regexp = /[A-E]/gi;
var matches_array = str.match(regexp);
@@ -93,7 +93,7 @@ console.log(matches_array);
<h3 id="使用match,不传参数"><code>使用match(),不传参数 </code></h3>
-<pre class="brush: js line-numbers language-js notranslate"><code class="language-js">var str = "Nothing will come of nothing.";
+<pre class="brush: js line-numbers language-js"><code class="language-js">var str = "Nothing will come of nothing.";
str.match(); // returns [""]</code></pre>
@@ -101,7 +101,7 @@ str.match(); // returns [""]</code></pre>
<p>当参数是一个字符串或一个数字,它会使用new RegExp(obj)来隐式转换成一个 {{jsxref("RegExp")}}。如果它是一个有正号的正数,RegExp() 方法将忽略正号。</p>
-<pre class="brush: js line-numbers language-js notranslate"><code class="language-js">var str1 = "NaN means not a number. Infinity contains -Infinity and +Infinity in JavaScript.",
+<pre class="brush: js line-numbers language-js"><code class="language-js">var str1 = "NaN means not a number. Infinity contains -Infinity and +Infinity in JavaScript.",
str2 = "My grandfather is 65 years old and My grandmother is 63 years old.",
str3 = "The contract was declared null and void.";
str1.match("number"); // "number" 是字符串。返回["number"]
diff --git a/files/zh-cn/web/javascript/reference/global_objects/string/matchall/index.html b/files/zh-cn/web/javascript/reference/global_objects/string/matchall/index.html
index f2344f6f79..d11d23265e 100644
--- a/files/zh-cn/web/javascript/reference/global_objects/string/matchall/index.html
+++ b/files/zh-cn/web/javascript/reference/global_objects/string/matchall/index.html
@@ -20,7 +20,7 @@ translation_of: Web/JavaScript/Reference/Global_Objects/String/matchAll
<h2 id="语法">语法</h2>
-<pre class="syntaxbox notranslate"><var>str</var>.matchAll(<var>regexp</var>)</pre>
+<pre class="syntaxbox"><var>str</var>.matchAll(<var>regexp</var>)</pre>
<h3 id="参数">参数</h3>
@@ -42,7 +42,7 @@ translation_of: Web/JavaScript/Reference/Global_Objects/String/matchAll
<p>在 <code>matchAll</code> 出现之前,通过在循环中调用 <code>regexp.exec()</code> 来获取所有匹配项信息(regexp 需使用 <code>/g</code> 标志):</p>
-<pre class="brush: js notranslate">const regexp = RegExp('foo[a-z]*','g');
+<pre class="brush: js">const regexp = RegExp('foo[a-z]*','g');
const str = 'table football, foosball';
let match;
@@ -54,7 +54,7 @@ while ((match = regexp.exec(str)) !== null) {
<p>如果使用 <code>matchAll</code> ,就可以不必使用 while 循环加 exec 方式(且正则表达式需使用 <code>/g</code> 标志)。使用 <code>matchAll</code> 会得到一个迭代器的返回值,配合 <code><a href="/en-US/docs/Web/JavaScript/Reference/Statements/for...of">for...of</a></code>, <a href="/en-US/docs/Web/JavaScript/Reference/Operators/Spread_syntax">array spread</a>, 或者 {{jsxref("Array.from()")}} 可以更方便实现功能:</p>
-<pre class="brush: js notranslate">const regexp = RegExp('foo[a-z]*','g');
+<pre class="brush: js">const regexp = RegExp('foo[a-z]*','g');
const str = 'table football, foosball';
const matches = str.matchAll(regexp);
@@ -71,14 +71,14 @@ Array.from(str.matchAll(regexp), m =&gt; m[0]);
<p>如果没有 <code>/g</code> 标志,<code>matchAll</code> 会抛出异常。</p>
-<pre class="brush: js notranslate">const regexp = RegExp('[a-c]','');
+<pre class="brush: js">const regexp = RegExp('[a-c]','');
const str = 'abc';
Array.from(str.matchAll(regexp), m =&gt; m[0]);
// TypeError: String.prototype.matchAll called with a non-global RegExp argument</pre>
<p><code>matchAll</code> 内部做了一个 regexp 的复制,所以不像 <a href="/en-US/docs/Web/JavaScript/Reference/Global_Objects/RegExp/exec">regexp.exec</a>, <code>lastIndex</code> 在字符串扫描时不会改变。</p>
-<pre class="brush: js notranslate">const regexp = RegExp('[a-c]','g');
+<pre class="brush: js">const regexp = RegExp('[a-c]','g');
regexp.lastIndex = 1;
const str = 'abc';
Array.from(str.matchAll(regexp), m =&gt; `${regexp.lastIndex} ${m[0]}`);
@@ -89,7 +89,7 @@ Array.from(str.matchAll(regexp), m =&gt; `${regexp.lastIndex} ${m[0]}`);
<p><code>matchAll</code> 的另外一个亮点是更好地获取捕获组。因为当使用 <code><a href="/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/match">match()</a></code> 和 <code>/g</code> 标志方式获取匹配信息时,捕获组会被忽略:</p>
-<pre class="brush: js notranslate">var regexp = /t(e)(st(\d?))/g;
+<pre class="brush: js">var regexp = /t(e)(st(\d?))/g;
var str = 'test1test2';
str.match(regexp);
@@ -97,7 +97,7 @@ str.match(regexp);
<p>使用 <code>matchAll</code> 可以通过如下方式获取分组捕获:</p>
-<pre class="brush: js notranslate">let array = [...str.matchAll(regexp)];
+<pre class="brush: js">let array = [...str.matchAll(regexp)];
array[0];
// ['test1', 'e', 'st1', '1', index: 0, input: 'test1test2', length: 4]
diff --git a/files/zh-cn/web/javascript/reference/global_objects/string/padend/index.html b/files/zh-cn/web/javascript/reference/global_objects/string/padend/index.html
index ca1f5d8515..e73b847c5b 100644
--- a/files/zh-cn/web/javascript/reference/global_objects/string/padend/index.html
+++ b/files/zh-cn/web/javascript/reference/global_objects/string/padend/index.html
@@ -18,7 +18,7 @@ translation_of: Web/JavaScript/Reference/Global_Objects/String/padEnd
<h2 id="语法">语法</h2>
-<pre class="syntaxbox notranslate"><var>str</var>.padEnd(<var>targetLength</var> [, <var>padString</var>])</pre>
+<pre class="syntaxbox"><var>str</var>.padEnd(<var>targetLength</var> [, <var>padString</var>])</pre>
<h3 id="参数">参数</h3>
@@ -35,7 +35,7 @@ translation_of: Web/JavaScript/Reference/Global_Objects/String/padEnd
<h2 id="示例">示例</h2>
-<pre class="brush: js notranslate">'abc'.padEnd(10); // "abc       "
+<pre class="brush: js">'abc'.padEnd(10); // "abc       "
'abc'.padEnd(10, "foo"); // "abcfoofoof"
'abc'.padEnd(6, "123456"); // "abc123"
'abc'.padEnd(1); // "abc"
@@ -45,7 +45,7 @@ translation_of: Web/JavaScript/Reference/Global_Objects/String/padEnd
<p>如果原生环境不支持该方法,在其他代码之前先运行下面的代码,将创建 <code>String.prototype.padEnd()</code> 方法。</p>
-<pre class="brush: js notranslate">// https://github.com/uxitten/polyfill/blob/master/string.polyfill.js
+<pre class="brush: js">// https://github.com/uxitten/polyfill/blob/master/string.polyfill.js
// https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/padEnd
if (!String.prototype.padEnd) {
    String.prototype.padEnd = function padEnd(targetLength,padString) {
diff --git a/files/zh-cn/web/javascript/reference/global_objects/string/padstart/index.html b/files/zh-cn/web/javascript/reference/global_objects/string/padstart/index.html
index 8596df0ae3..69aff06b94 100644
--- a/files/zh-cn/web/javascript/reference/global_objects/string/padstart/index.html
+++ b/files/zh-cn/web/javascript/reference/global_objects/string/padstart/index.html
@@ -20,7 +20,7 @@ translation_of: Web/JavaScript/Reference/Global_Objects/String/padStart
<h2 id="语法">语法</h2>
-<pre class="syntaxbox notranslate"><var>str</var>.padStart(<var>targetLength</var> [, <var>padString</var>])</pre>
+<pre class="syntaxbox"><var>str</var>.padStart(<var>targetLength</var> [, <var>padString</var>])</pre>
<h3 id="参数">参数</h3>
@@ -37,7 +37,7 @@ translation_of: Web/JavaScript/Reference/Global_Objects/String/padStart
<h2 id="示例">示例</h2>
-<pre class="brush: js line-numbers language-js notranslate"><code class="language-js">'abc'.padStart(10); // " abc"
+<pre class="brush: js line-numbers language-js"><code class="language-js">'abc'.padStart(10); // " abc"
'abc'.padStart(10, "foo"); // "foofoofabc"
'abc'.padStart(6,"123465"); // "123abc"
'abc'.padStart(8, "0"); // "00000abc"
@@ -47,7 +47,7 @@ translation_of: Web/JavaScript/Reference/Global_Objects/String/padStart
<p>如果原生环境不支持该方法,在其他代码之前先运行下面的代码,将创建 <code>String.prototype.padStart()</code> 方法。</p>
-<pre class="brush: js line-numbers language-js notranslate"><code class="language-js">// https://github.com/uxitten/polyfill/blob/master/string.polyfill.js
+<pre class="brush: js line-numbers language-js"><code class="language-js">// https://github.com/uxitten/polyfill/blob/master/string.polyfill.js
// https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/padStart
if (!String.prototype.padStart) {
String.prototype.padStart = function padStart(targetLength,padString) {
diff --git a/files/zh-cn/web/javascript/reference/global_objects/string/repeat/index.html b/files/zh-cn/web/javascript/reference/global_objects/string/repeat/index.html
index b880c16b92..c0ee77fe21 100644
--- a/files/zh-cn/web/javascript/reference/global_objects/string/repeat/index.html
+++ b/files/zh-cn/web/javascript/reference/global_objects/string/repeat/index.html
@@ -20,7 +20,7 @@ translation_of: Web/JavaScript/Reference/Global_Objects/String/repeat
<h2 id="Syntax" name="Syntax">语法</h2>
-<pre class="syntaxbox notranslate"><code><var>str</var>.repeat(<var>count</var>)</code></pre>
+<pre class="syntaxbox"><code><var>str</var>.repeat(<var>count</var>)</code></pre>
<h3 id="Parameters" name="Parameters">参数</h3>
@@ -44,7 +44,7 @@ translation_of: Web/JavaScript/Reference/Global_Objects/String/repeat
<p>此方法已添加到 ECMAScript 2015 规范中,并且可能尚未在所有 JavaScript 实现中可用。然而,你可以使用以下代码段对 String.prototype.repeat() 进行填充:</p>
-<pre class="brush: js language-js notranslate"><code class="language-js">if (!String.prototype.repeat) {
+<pre class="brush: js language-js"><code class="language-js">if (!String.prototype.repeat) {
String.prototype.repeat = function(count) {
'use strict';
if (this == null) {
@@ -88,7 +88,7 @@ translation_of: Web/JavaScript/Reference/Global_Objects/String/repeat
<h2 id="Examples" name="Examples">示例</h2>
-<pre class="brush:js notranslate">"abc".repeat(-1) // RangeError: repeat count must be positive and less than inifinity
+<pre class="brush:js">"abc".repeat(-1) // RangeError: repeat count must be positive and less than inifinity
"abc".repeat(0) // ""
"abc".repeat(1) // "abc"
"abc".repeat(2) // "abcabc"
diff --git a/files/zh-cn/web/javascript/reference/global_objects/string/replace/index.html b/files/zh-cn/web/javascript/reference/global_objects/string/replace/index.html
index 49f27efe4b..5991e8fa0a 100644
--- a/files/zh-cn/web/javascript/reference/global_objects/string/replace/index.html
+++ b/files/zh-cn/web/javascript/reference/global_objects/string/replace/index.html
@@ -21,7 +21,7 @@ translation_of: Web/JavaScript/Reference/Global_Objects/String/replace
<h2 id="语法">语法</h2>
-<pre class="syntaxbox notranslate"><code><var>str</var>.replace(<var>regexp</var>|<var>substr</var>, <var>newSubStr</var>|<var>function</var>)</code></pre>
+<pre class="syntaxbox"><code><var>str</var>.replace(<var>regexp</var>|<var>substr</var>, <var>newSubStr</var>|<var>function</var>)</code></pre>
<h3 id="参数">参数</h3>
@@ -137,7 +137,7 @@ translation_of: Web/JavaScript/Reference/Global_Objects/String/replace
<p>下面的例子将会使 <code>newString</code> 变成 <code>'abc - 12345 - #$*%'</code>:</p>
-<pre class="brush: js notranslate">function replacer(match, p1, p2, p3, offset, string) {
+<pre class="brush: js">function replacer(match, p1, p2, p3, offset, string) {
// p1 is nondigits, p2 digits, and p3 non-alphanumerics
return [p1, p2, p3].join(' - ');
}
@@ -151,7 +151,7 @@ console.log(newString); // abc - 12345 - #$*%
<p>在下面的例子中,<code>replace()</code> 中使用了正则表达式及忽略大小写标示。</p>
-<pre class="brush: js notranslate">var str = 'Twas the night before Xmas...';
+<pre class="brush: js">var str = 'Twas the night before Xmas...';
var newstr = str.replace(/xmas/i, 'Christmas');
console.log(newstr); // Twas the night before Christmas...
</pre>
@@ -160,7 +160,7 @@ console.log(newstr); // Twas the night before Christmas...
<p>下面的例子中,正则表达式包含有全局替换(g)和忽略大小写(i)的选项,这使得replace方法用'oranges'替换掉了所有出现的"apples".</p>
-<pre class="brush: js notranslate">var re = /apples/gi;
+<pre class="brush: js">var re = /apples/gi;
var str = "Apples are round, and apples are juicy.";
var newstr = str.replace(re, "oranges");
@@ -172,7 +172,7 @@ console.log(newstr);
<p>下面的例子演示了如何交换一个字符串中两个单词的位置,这个脚本使用$1 和 $2 代替替换文本。</p>
-<pre class="brush: js notranslate">var re = /(\w+)\s(\w+)/;
+<pre class="brush: js">var re = /(\w+)\s(\w+)/;
var str = "John Smith";
var newstr = str.replace(re, "$2, $1");
// Smith, John
@@ -185,7 +185,7 @@ console.log(newstr);
<p>在返回前,替换函数允许匹配片段作为参数,并且将它和连字符进行连接作为新的片段。</p>
-<pre class="brush: js notranslate">function styleHyphenFormat(propertyName) {
+<pre class="brush: js">function styleHyphenFormat(propertyName) {
function upperToHyphenLower(match) {
return '-' + match.toLowerCase();
}
@@ -197,7 +197,7 @@ console.log(newstr);
<p>因为我们想在最终的替换中进一步转变匹配结果,所以我们必须使用一个函数。这迫使我们在使用{{jsxref("String.prototype.toLowerCase()", "toLowerCase()")}}方法前进行评估。如果我们尝试不用一个函数进行匹配,那么使用{{jsxref("String.prototype.toLowerCase()", "toLowerCase()")}} 方法将不会有效。</p>
-<pre class="brush: js notranslate">var newString = propertyName.replace(/[A-Z]/g, '-' + '$&amp;'.toLowerCase()); // won't work
+<pre class="brush: js">var newString = propertyName.replace(/[A-Z]/g, '-' + '$&amp;'.toLowerCase()); // won't work
</pre>
<p>这是因为 <code>'$&amp;'.toLowerCase()</code> 会先被解析成字符串字面量(这会导致相同的'$&amp;')而不是当作一个模式。</p>
@@ -208,7 +208,7 @@ console.log(newstr);
<p>正则表达式test检查任何数字是否以 F 结尾。华氏温度通过第二个参数p1进入函数。这个函数基于华氏温度作为字符串传递给f2c函数设置成摄氏温度。然后f2c()返回摄氏温度。这个函数与Perl的 s///e 标志相似。</p>
-<pre class="brush: js notranslate">function f2c(x)
+<pre class="brush: js">function f2c(x)
{
function convert(str, p1, offset, s)
{
@@ -227,7 +227,7 @@ console.log(newstr);
<p><strong>输入:</strong><br>
一个由 x,- 和 _ 组成的字符串。</p>
-<pre class="notranslate">x-x_
+<pre>x-x_
---x---x---x---
@@ -240,7 +240,7 @@ _x_x___x___x___
<p>一个数组对象。'x' 产生一个 'on' 状态,'-'(连接符)产生一个 'off' 状态,而 '_' (下划线)表示 'on' 状态的长度。</p>
-<pre class="brush: js notranslate">[
+<pre class="brush: js">[
{ on: true, length: 1 },
{ on: false, length: 1 },
{ on: true, length: 2 }
@@ -249,7 +249,7 @@ _x_x___x___x___
<p>代码片段:</p>
-<pre class="brush: js notranslate">var str = 'x-x_';
+<pre class="brush: js">var str = 'x-x_';
var retArr = [];
str.replace(/(x_*)|(-)/g, function(match, p1, p2) {
if (p1) { retArr.push({ on: true, length: p1.length }); }
diff --git a/files/zh-cn/web/javascript/reference/global_objects/string/replaceall/index.html b/files/zh-cn/web/javascript/reference/global_objects/string/replaceall/index.html
index cbd76d71b7..c9d892e3f7 100644
--- a/files/zh-cn/web/javascript/reference/global_objects/string/replaceall/index.html
+++ b/files/zh-cn/web/javascript/reference/global_objects/string/replaceall/index.html
@@ -19,7 +19,7 @@ translation_of: Web/JavaScript/Reference/Global_Objects/String/replaceAll
<h2 id="语法">语法</h2>
-<pre class="syntaxbox notranslate">const newStr = <var>str</var>.replaceAll(<var>regexp</var>|<var>substr</var>, <var>newSubstr</var>|<var>function</var>)</pre>
+<pre class="syntaxbox">const newStr = <var>str</var>.replaceAll(<var>regexp</var>|<var>substr</var>, <var>newSubstr</var>|<var>function</var>)</pre>
<div class="blockIndicator note">
<p>当使用一个 `regex`时,您必须设置全局(“ g”)标志,<br>
@@ -123,20 +123,20 @@ translation_of: Web/JavaScript/Reference/Global_Objects/String/replaceAll
<h3 id="使用_replaceAll">使用 replaceAll</h3>
-<pre class="brush: js notranslate">'aabbcc'.replaceAll('b', '.');
+<pre class="brush: js">'aabbcc'.replaceAll('b', '.');
// 'aa..cc'</pre>
<h3 id="非全局_regex_抛出">非全局 regex 抛出</h3>
<p>使用正则表达式搜索值时,它必须是全局的。这将行不通:</p>
-<pre class="brush: js; example-bad notranslate">'aabbcc'.replaceAll(/b/, '.');
+<pre class="brush: js; example-bad">'aabbcc'.replaceAll(/b/, '.');
TypeError: replaceAll must be called with a global RegExp
</pre>
<p>这将可以正常运行:</p>
-<pre class="brush: js; example-good notranslate">'aabbcc'.replaceAll(/b/g, '.');
+<pre class="brush: js; example-good">'aabbcc'.replaceAll(/b/g, '.');
"aa..cc"
</pre>
diff --git a/files/zh-cn/web/javascript/reference/global_objects/string/search/index.html b/files/zh-cn/web/javascript/reference/global_objects/string/search/index.html
index 06c7e214fd..35a75549c2 100644
--- a/files/zh-cn/web/javascript/reference/global_objects/string/search/index.html
+++ b/files/zh-cn/web/javascript/reference/global_objects/string/search/index.html
@@ -20,7 +20,7 @@ translation_of: Web/JavaScript/Reference/Global_Objects/String/search
<h2 id="语法">语法</h2>
-<pre class="syntaxbox notranslate"><var>str</var>.search(<var>regexp</var>)</pre>
+<pre class="syntaxbox"><var>str</var>.search(<var>regexp</var>)</pre>
<h3 id="参数">参数</h3>
@@ -44,7 +44,7 @@ translation_of: Web/JavaScript/Reference/Global_Objects/String/search
<p>下面的例子中用两个不同的正则表达式对同一个字符串执行搜索匹配,得到一个成功匹配(正数返回值)和一个失败匹配(-1)。</p>
-<pre class="brush: js notranslate">var str = "hey JudE";
+<pre class="brush: js">var str = "hey JudE";
var re = /[A-Z]/g;
var re2 = /[.]/g;
console.log(str.search(re)); // returns 4, which is the index of the first capital letter "J"
diff --git a/files/zh-cn/web/javascript/reference/global_objects/string/startswith/index.html b/files/zh-cn/web/javascript/reference/global_objects/string/startswith/index.html
index 7cbd48ba7b..ac60af390f 100644
--- a/files/zh-cn/web/javascript/reference/global_objects/string/startswith/index.html
+++ b/files/zh-cn/web/javascript/reference/global_objects/string/startswith/index.html
@@ -21,7 +21,7 @@ translation_of: Web/JavaScript/Reference/Global_Objects/String/startsWith
<h2 id="语法">语法</h2>
-<pre class="syntaxbox notranslate"><var>str</var>.startsWith(<var>searchString</var>[, <var>position</var>])</pre>
+<pre class="syntaxbox"><var>str</var>.startsWith(<var>searchString</var>[, <var>position</var>])</pre>
<h3 id="参数">参数</h3>
@@ -44,7 +44,7 @@ translation_of: Web/JavaScript/Reference/Global_Objects/String/startsWith
<p>此方法已被添加至 ECMAScript 2015 规范之中,但可能不能在所有的现行 JavaScript 实现中使用。不过,你可以用以下的代码段为 <code>String.prototype.startsWith()</code> 制作 Polyfill:</p>
-<pre class="brush: js notranslate">if (!String.prototype.startsWith) {
+<pre class="brush: js">if (!String.prototype.startsWith) {
Object.defineProperty(String.prototype, 'startsWith', {
value: function(search, pos) {
pos = !pos || pos &lt; 0 ? 0 : +pos;
@@ -60,7 +60,7 @@ translation_of: Web/JavaScript/Reference/Global_Objects/String/startsWith
<h3 id="使用_startsWith">使用 <code>startsWith()</code></h3>
-<pre class="brush:js; notranslate">var str = "To be, or not to be, that is the question.";
+<pre class="brush:js;">var str = "To be, or not to be, that is the question.";
alert(str.startsWith("To be")); // true
alert(str.startsWith("not to be")); // false
diff --git a/files/zh-cn/web/javascript/reference/global_objects/string/substring/index.html b/files/zh-cn/web/javascript/reference/global_objects/string/substring/index.html
index e2b061d1a3..f35badbe86 100644
--- a/files/zh-cn/web/javascript/reference/global_objects/string/substring/index.html
+++ b/files/zh-cn/web/javascript/reference/global_objects/string/substring/index.html
@@ -11,7 +11,7 @@ translation_of: Web/JavaScript/Reference/Global_Objects/String/substring
<h2 id="Syntax" name="Syntax">语法</h2>
-<pre class="syntaxbox notranslate"><code><var>str</var>.substring(<var>indexStart</var>[, <var>indexEnd</var>])</code></pre>
+<pre class="syntaxbox"><code><var>str</var>.substring(<var>indexStart</var>[, <var>indexEnd</var>])</code></pre>
<h3 id="Parameters" name="Parameters">参数</h3>
@@ -44,7 +44,7 @@ translation_of: Web/JavaScript/Reference/Global_Objects/String/substring
<p>下例使用 <code>substring</code> 输出字符串 "<code>Mozilla</code>" 中的字符:</p>
-<pre class="brush:js notranslate">var anyString = "Mozilla";
+<pre class="brush:js">var anyString = "Mozilla";
// 输出 "Moz"
console.log(anyString.substring(0,3));
@@ -73,7 +73,7 @@ console.log(anyString.substring(0,10));
<p>下面一个例子运用了    String.length 属性去获取指定字符串的倒数元素。显然这个办法更容易记住,因为你不再像上面那个例子那样去记住起始位置和最终位置。</p>
-<pre class="brush: js notranslate"><code>// Displays 'illa' the last 4 characters
+<pre class="brush: js"><code>// Displays 'illa' the last 4 characters
var anyString = 'Mozilla';
var anyString4 = anyString.substring(anyString.length - 4);
console.log(anyString4);</code>
@@ -87,7 +87,7 @@ console.log(anyString5);</pre>
<p>下例替换了一个字符串中的子字符串。可以替换单个字符和子字符串。该例结尾调用的函数将 "<code>Brave New World</code>" 变成了 "<code>Brave New Web</code>"。</p>
-<pre class="brush:js notranslate">function replaceString(oldS, newS, fullS) {
+<pre class="brush:js">function replaceString(oldS, newS, fullS) {
// Replaces oldS with newS in the string fullS
for (var i = 0; i &lt; fullS.length; i++) {
if (fullS.substring(i, i + oldS.length) == oldS) {
@@ -101,7 +101,7 @@ replaceString("World", "Web", "Brave New World");</pre>
<p>需要注意的是,如果 <code>oldS</code> 是 <code>newS</code> 的子字符串将会导致死循环。例如,尝试把 "Web" 替换成 "OtherWorld"。一个更好的方法如下:</p>
-<pre class="brush:js notranslate">function replaceString(oldS, newS,fullS){
+<pre class="brush:js">function replaceString(oldS, newS,fullS){
return fullS.split(oldS).join(newS);
}</pre>
diff --git a/files/zh-cn/web/javascript/reference/global_objects/string/tolowercase/index.html b/files/zh-cn/web/javascript/reference/global_objects/string/tolowercase/index.html
index 007d9bb2d9..b1b9f6266d 100644
--- a/files/zh-cn/web/javascript/reference/global_objects/string/tolowercase/index.html
+++ b/files/zh-cn/web/javascript/reference/global_objects/string/tolowercase/index.html
@@ -15,7 +15,7 @@ translation_of: Web/JavaScript/Reference/Global_Objects/String/toLowerCase
<h2 id="语法" style="margin-bottom: 20px; line-height: 30px;">语法</h2>
-<pre class="syntaxbox language-html notranslate" style="margin-bottom: 0px; padding: 1em; border-left-width: 6px; border-left-style: solid; font-family: Consolas, Monaco, 'Andale Mono', monospace; font-size: 14px; direction: ltr; white-space: normal; text-shadow: none; background-color: rgba(212, 221, 228, 0.498039);"><code class="language-html" style="font-family: Consolas, Monaco, 'Andale Mono', monospace; direction: ltr; color: inherit; text-shadow: none;">str.toLowerCase()</code>
+<pre class="syntaxbox language-html" style="margin-bottom: 0px; padding: 1em; border-left-width: 6px; border-left-style: solid; font-family: Consolas, Monaco, 'Andale Mono', monospace; font-size: 14px; direction: ltr; white-space: normal; text-shadow: none; background-color: rgba(212, 221, 228, 0.498039);"><code class="language-html" style="font-family: Consolas, Monaco, 'Andale Mono', monospace; direction: ltr; color: inherit; text-shadow: none;">str.toLowerCase()</code>
</pre>
<p id="sect1"></p>
@@ -32,7 +32,7 @@ translation_of: Web/JavaScript/Reference/Global_Objects/String/toLowerCase
<h3 id="例子:使用_toLowerCase" style="line-height: 24px;">例子:使用 <code>toLowerCase()</code></h3>
-<pre class="brush: js notranslate">console.log('中文简体 zh-CN || zh-Hans'.toLowerCase());
+<pre class="brush: js">console.log('中文简体 zh-CN || zh-Hans'.toLowerCase());
// 中文简体 zh-cn || zh-hans
​console.log( "ALPHABET".toLowerCase() );
diff --git a/files/zh-cn/web/javascript/reference/global_objects/string/touppercase/index.html b/files/zh-cn/web/javascript/reference/global_objects/string/touppercase/index.html
index 0e45f82bac..820f1a80b3 100644
--- a/files/zh-cn/web/javascript/reference/global_objects/string/touppercase/index.html
+++ b/files/zh-cn/web/javascript/reference/global_objects/string/touppercase/index.html
@@ -19,7 +19,7 @@ translation_of: Web/JavaScript/Reference/Global_Objects/String/toUpperCase
<h2 id="语法">语法</h2>
-<pre class="syntaxbox notranslate"><var>str</var>.toUpperCase()</pre>
+<pre class="syntaxbox"><var>str</var>.toUpperCase()</pre>
<h3 id="返回值">返回值</h3>
@@ -40,14 +40,14 @@ translation_of: Web/JavaScript/Reference/Global_Objects/String/toUpperCase
<h3 id="基本用法">基本用法</h3>
-<pre class="brush: js notranslate">console.log('alphabet'.toUpperCase()); // 'ALPHABET'
+<pre class="brush: js">console.log('alphabet'.toUpperCase()); // 'ALPHABET'
</pre>
<h3 id="将非字符串类型的_this_(上下文)转为字符串">将非字符串类型的 <code>this</code> (上下文)转为字符串</h3>
<p>此方法会将任何非字符串类型的值转为字符串, 当你将其上下文 <code>this</code> 值设置为非字符串类型</p>
-<pre class="brush: js notranslate">const a = String.prototype.toUpperCase.call({
+<pre class="brush: js">const a = String.prototype.toUpperCase.call({
toString: function toString() {
return 'abcdef';
}
diff --git a/files/zh-cn/web/javascript/reference/global_objects/string/trim/index.html b/files/zh-cn/web/javascript/reference/global_objects/string/trim/index.html
index 503a9e234f..aa0e524f53 100644
--- a/files/zh-cn/web/javascript/reference/global_objects/string/trim/index.html
+++ b/files/zh-cn/web/javascript/reference/global_objects/string/trim/index.html
@@ -26,7 +26,7 @@ translation_of: Web/JavaScript/Reference/Global_Objects/String/Trim
<h2 id="语法">语法</h2>
-<pre class="syntaxbox notranslate"><code><var>str</var>.trim()</code></pre>
+<pre class="syntaxbox"><code><var>str</var>.trim()</code></pre>
<h3 id="返回值">返回值</h3>
@@ -42,7 +42,7 @@ translation_of: Web/JavaScript/Reference/Global_Objects/String/Trim
<p>下面的例子中将显示小写的字符串 'foo':</p>
-<pre class="brush: js notranslate">var orig = ' foo ';
+<pre class="brush: js">var orig = ' foo ';
console.log(orig.trim()); // 'foo'
// 另一个 .trim() 例子,只从一边删除
@@ -55,7 +55,7 @@ console.log(orig.trim()); // 'foo'
<p>如果 <code>trim()</code> 不存在,可以在所有代码前执行下面代码</p>
-<pre class="brush: js notranslate">if (!String.prototype.trim) {
+<pre class="brush: js">if (!String.prototype.trim) {
String.prototype.trim = function () {
return this.replace(/^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g, '');
};
diff --git a/files/zh-cn/web/javascript/reference/global_objects/string/valueof/index.html b/files/zh-cn/web/javascript/reference/global_objects/string/valueof/index.html
index 6af5bd5d2d..2d8754a2cc 100644
--- a/files/zh-cn/web/javascript/reference/global_objects/string/valueof/index.html
+++ b/files/zh-cn/web/javascript/reference/global_objects/string/valueof/index.html
@@ -11,7 +11,7 @@ translation_of: Web/JavaScript/Reference/Global_Objects/String/valueOf
<h2 id="语法">语法</h2>
-<pre class="syntaxbox notranslate"><code><var>str</var>.valueOf()</code></pre>
+<pre class="syntaxbox"><code><var>str</var>.valueOf()</code></pre>
<h3 id="返回结果">返回结果</h3>
@@ -27,7 +27,7 @@ translation_of: Web/JavaScript/Reference/Global_Objects/String/valueOf
<h3 id="使用_valueOf">使用 <code>valueOf()</code></h3>
-<pre class="brush: js notranslate">var x = new String('Hello world');
+<pre class="brush: js">var x = new String('Hello world');
console.log(x.valueOf()); // Displays 'Hello world'
</pre>
diff --git a/files/zh-cn/web/javascript/reference/global_objects/symbol/hasinstance/index.html b/files/zh-cn/web/javascript/reference/global_objects/symbol/hasinstance/index.html
index 2381f6654f..c4d2d0753a 100644
--- a/files/zh-cn/web/javascript/reference/global_objects/symbol/hasinstance/index.html
+++ b/files/zh-cn/web/javascript/reference/global_objects/symbol/hasinstance/index.html
@@ -19,7 +19,7 @@ translation_of: Web/JavaScript/Reference/Global_Objects/Symbol/hasInstance
<p>你可实现一个自定义的<code>instanceof</code> 行为,例如:</p>
-<pre class="brush: js notranslate">class MyArray {
+<pre class="brush: js">class MyArray {
static [Symbol.hasInstance](instance) {
return Array.isArray(instance);
}
diff --git a/files/zh-cn/web/javascript/reference/global_objects/symbol/index.html b/files/zh-cn/web/javascript/reference/global_objects/symbol/index.html
index 5e23754b25..9473363551 100644
--- a/files/zh-cn/web/javascript/reference/global_objects/symbol/index.html
+++ b/files/zh-cn/web/javascript/reference/global_objects/symbol/index.html
@@ -19,7 +19,7 @@ translation_of: Web/JavaScript/Reference/Global_Objects/Symbol
<h2 id="Syntax" name="Syntax">语法</h2>
-<pre class="syntaxbox notranslate"><code>Symbol(<em>[description]</em>)</code></pre>
+<pre class="syntaxbox"><code>Symbol(<em>[description]</em>)</code></pre>
<h3 id="Parameters" name="Parameters">参数</h3>
@@ -32,24 +32,24 @@ translation_of: Web/JavaScript/Reference/Global_Objects/Symbol
<p>直接使用<code>Symbol()</code>创建新的symbol类型,并用一个可选的字符串作为其描述。</p>
-<pre class="brush: js notranslate">var sym1 = Symbol();
+<pre class="brush: js">var sym1 = Symbol();
var sym2 = Symbol('foo');
var sym3 = Symbol('foo');
</pre>
<p>上面的代码创建了三个新的symbol类型。 注意,<code>Symbol("foo")</code> 不会强制将字符串 “foo” 转换成symbol类型。它每次都会创建一个新的 symbol类型:</p>
-<pre class="brush: js notranslate">Symbol("foo") === Symbol("foo"); // false</pre>
+<pre class="brush: js">Symbol("foo") === Symbol("foo"); // false</pre>
<p>下面带有 {{jsxref("Operators/new", "new")}} 运算符的语法将抛出 {{jsxref("TypeError")}} 错误:</p>
-<pre class="brush: js notranslate">var sym = new Symbol(); // TypeError</pre>
+<pre class="brush: js">var sym = new Symbol(); // TypeError</pre>
<p>这会阻止创建一个显式的 Symbol 包装器对象而不是一个 Symbol 值。围绕原始数据类型创建一个显式包装器对象从 ECMAScript 6 开始不再被支持。 然而,现有的原始包装器对象,如 <code style="font-style: normal;">new Boolean</code>、<code style="font-style: normal;">new String</code>以及<code>new Number</code>,因为遗留原因仍可被创建。</p>
<p>如果你真的想创建一个 <u>Symbol 包装器对象 </u>(<code>Symbol wrapper object</code>),你可以使用 <code>Object()</code> 函数:</p>
-<pre class="brush: js notranslate">var sym = Symbol("foo");
+<pre class="brush: js">var sym = Symbol("foo");
typeof sym; // "symbol"
var symObj = Object(sym);
typeof symObj; // "object"</pre>
@@ -150,7 +150,7 @@ typeof symObj; // "object"</pre>
<p> {{jsxref("Operators/typeof", "typeof")}}运算符能帮助你识别 symbol 类型</p>
-<pre class="brush: js notranslate"><code class="language-js">typeof Symbol() === 'symbol'
+<pre class="brush: js"><code class="language-js">typeof Symbol() === 'symbol'
typeof Symbol('foo') === 'symbol'
typeof Symbol.iterator === 'symbol'</code>
</pre>
@@ -170,7 +170,7 @@ typeof Symbol.iterator === 'symbol'</code>
<p>Symbols 在 <a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Statements/for...in"><code>for...in</code></a> 迭代中不可枚举。另外,{{jsxref("Object.getOwnPropertyNames()")}} 不会返回 symbol 对象的属性,但是你能使用 {{jsxref("Object.getOwnPropertySymbols()")}} 得到它们。</p>
-<pre class="brush: js line-numbers language-js notranslate"><code class="language-js">var obj = {};
+<pre class="brush: js line-numbers language-js"><code class="language-js">var obj = {};
obj[Symbol("a")] = "a";
obj[Symbol.for("b")] = "b";
@@ -185,7 +185,7 @@ for (var i in obj) {
<p>当使用 JSON.stringify() 时,以 symbol 值作为键的属性会被完全忽略:</p>
-<pre class="brush: js notranslate"><code class="language-js">JSON.stringify({[Symbol("foo")]: "foo"});
+<pre class="brush: js"><code class="language-js">JSON.stringify({[Symbol("foo")]: "foo"});
// '{}'</code></pre>
<p>更多细节,请看 {{jsxref("JSON.stringify()")}}。</p>
@@ -194,7 +194,7 @@ for (var i in obj) {
<p>当一个 Symbol 包装器对象作为一个属性的键时,这个对象将被强制转换为它包装过的 symbol 值:</p>
-<pre class="brush: js notranslate"><code class="language-js">var sym = Symbol("foo");
+<pre class="brush: js"><code class="language-js">var sym = Symbol("foo");
var obj = {[sym]: 1};
obj[sym]; // 1
obj[Object(sym)]; // still 1</code></pre>
diff --git a/files/zh-cn/web/javascript/reference/global_objects/symbol/keyfor/index.html b/files/zh-cn/web/javascript/reference/global_objects/symbol/keyfor/index.html
index 150ae66f02..c38fa9307b 100644
--- a/files/zh-cn/web/javascript/reference/global_objects/symbol/keyfor/index.html
+++ b/files/zh-cn/web/javascript/reference/global_objects/symbol/keyfor/index.html
@@ -11,7 +11,7 @@ translation_of: Web/JavaScript/Reference/Global_Objects/Symbol/keyFor
<h2 id="Syntax" name="Syntax">语法</h2>
-<pre class="syntaxbox notranslate"><var>Symbol.keyFor(sym)</var>;</pre>
+<pre class="syntaxbox"><var>Symbol.keyFor(sym)</var>;</pre>
<h3 id="参数">参数</h3>
@@ -28,7 +28,7 @@ translation_of: Web/JavaScript/Reference/Global_Objects/Symbol/keyFor
<h2 id="示例">示例</h2>
-<pre class="brush: js notranslate">// 创建一个全局 Symbol
+<pre class="brush: js">// 创建一个全局 Symbol
var globalSym = Symbol.for("foo");
Symbol.keyFor(globalSym); // "foo"
diff --git a/files/zh-cn/web/javascript/reference/global_objects/symbol/search/index.html b/files/zh-cn/web/javascript/reference/global_objects/symbol/search/index.html
index c1efdd302e..f3d595a2fb 100644
--- a/files/zh-cn/web/javascript/reference/global_objects/symbol/search/index.html
+++ b/files/zh-cn/web/javascript/reference/global_objects/symbol/search/index.html
@@ -17,7 +17,7 @@ translation_of: Web/JavaScript/Reference/Global_Objects/Symbol/search
<h3 id="自定义字符串搜索">自定义字符串搜索</h3>
-<pre class="notranslate">class caseInsensitiveSearch {
+<pre>class caseInsensitiveSearch {
constructor(value) {
this.value = value.toLowerCase();
}
diff --git a/files/zh-cn/web/javascript/reference/global_objects/symbol/split/index.html b/files/zh-cn/web/javascript/reference/global_objects/symbol/split/index.html
index 53b98d57cd..221254014b 100644
--- a/files/zh-cn/web/javascript/reference/global_objects/symbol/split/index.html
+++ b/files/zh-cn/web/javascript/reference/global_objects/symbol/split/index.html
@@ -19,11 +19,11 @@ translation_of: Web/JavaScript/Reference/Global_Objects/Symbol/split
<p>[Symbol.split]指向‘aba’.split(/a/)</p>
-<pre class="brush: js notranslate">/a/[Symbol.split]('aba',3)</pre>
+<pre class="brush: js">/a/[Symbol.split]('aba',3)</pre>
<p>"dayinlove".split(exp)调用[Symbol.split](str)处理,并把实参"dayinlove"传给形参str</p>
-<pre class="brush: js notranslate">var exp = {
+<pre class="brush: js">var exp = {
pat:'in',
[Symbol.split](str) {
return str.split(this.pat);
diff --git a/files/zh-cn/web/javascript/reference/global_objects/typedarray/foreach/index.html b/files/zh-cn/web/javascript/reference/global_objects/typedarray/foreach/index.html
index 801df8bed5..b88d1af965 100644
--- a/files/zh-cn/web/javascript/reference/global_objects/typedarray/foreach/index.html
+++ b/files/zh-cn/web/javascript/reference/global_objects/typedarray/foreach/index.html
@@ -9,7 +9,7 @@ translation_of: Web/JavaScript/Reference/Global_Objects/TypedArray/forEach
<h2 id="语法">语法</h2>
-<pre class="syntaxbox notranslate"><code><var>typedarray</var>.forEach(<var>callback</var>[, <var>thisArg</var>])</code></pre>
+<pre class="syntaxbox"><code><var>typedarray</var>.forEach(<var>callback</var>[, <var>thisArg</var>])</code></pre>
<h3 id="参数">参数</h3>
@@ -57,7 +57,7 @@ translation_of: Web/JavaScript/Reference/Global_Objects/TypedArray/forEach
<p>下面的代码为数组中的每个元素记录一行日志:</p>
-<pre class="brush:js notranslate">function logArrayElements(element, index, array) {
+<pre class="brush:js">function logArrayElements(element, index, array) {
console.log('a[' + index + '] = ' + element);
}
diff --git a/files/zh-cn/web/javascript/reference/global_objects/typedarray/set/index.html b/files/zh-cn/web/javascript/reference/global_objects/typedarray/set/index.html
index 3ba2095fbf..44e1793347 100644
--- a/files/zh-cn/web/javascript/reference/global_objects/typedarray/set/index.html
+++ b/files/zh-cn/web/javascript/reference/global_objects/typedarray/set/index.html
@@ -9,7 +9,7 @@ translation_of: Web/JavaScript/Reference/Global_Objects/TypedArray/set
<h2 id="语法">语法</h2>
-<pre class="notranslate"><var>typedarray</var>.set(<em>array</em>[, <em>offset</em>])
+<pre><var>typedarray</var>.set(<em>array</em>[, <em>offset</em>])
<em>typedarray</em>.set(<em>typedarray</em>[, <em>offset</em>])</pre>
<h3 id="参数">参数</h3>
@@ -35,7 +35,7 @@ translation_of: Web/JavaScript/Reference/Global_Objects/TypedArray/set
<h3 id="使用_set">使用 <code>set()</code></h3>
-<pre class="brush:js notranslate">var buffer = new ArrayBuffer(8);
+<pre class="brush:js">var buffer = new ArrayBuffer(8);
var uint8 = new Uint8Array(buffer);
uint8.set([1,2,3], 3);
diff --git a/files/zh-cn/web/javascript/reference/global_objects/uint16array/index.html b/files/zh-cn/web/javascript/reference/global_objects/uint16array/index.html
index 9479c4831e..62adba345b 100644
--- a/files/zh-cn/web/javascript/reference/global_objects/uint16array/index.html
+++ b/files/zh-cn/web/javascript/reference/global_objects/uint16array/index.html
@@ -106,7 +106,7 @@ translation_of: Web/JavaScript/Reference/Global_Objects/Uint16Array
<h3 id="Different_ways_to_create_a_Uint16Array">Different ways to create a Uint16Array</h3>
-<pre class="brush: js notranslate">// 长度
+<pre class="brush: js">// 长度
var uint16 = new Uint16Array(2);
uint16[0] = 42;
console.log(uint16[0]); // 42
diff --git a/files/zh-cn/web/javascript/reference/global_objects/uint8clampedarray/index.html b/files/zh-cn/web/javascript/reference/global_objects/uint8clampedarray/index.html
index 86028a8fb9..d4a018398c 100644
--- a/files/zh-cn/web/javascript/reference/global_objects/uint8clampedarray/index.html
+++ b/files/zh-cn/web/javascript/reference/global_objects/uint8clampedarray/index.html
@@ -9,7 +9,7 @@ translation_of: Web/JavaScript/Reference/Global_Objects/Uint8ClampedArray
<h2 id="语法">语法</h2>
-<pre class="syntaxbox notranslate">new Uint8ClampedArray(length);
+<pre class="syntaxbox">new Uint8ClampedArray(length);
new Uint8ClampedArray(typedArray);
new Uint8ClampedArray(object);
new Uint8ClampedArray(buffer [, byteOffset [, length]]);</pre>
@@ -120,7 +120,7 @@ new Uint8ClampedArray(buffer [, byteOffset [, length]]);</pre>
<p>创建一个 <code>Uint8ClampedArray</code> 的不同方式:</p>
-<pre class="brush: js notranslate">// From a length
+<pre class="brush: js">// From a length
var uintc8 = new Uint8ClampedArray(2);
uintc8[0] = 42;
uintc8[1] = 1337;
@@ -265,11 +265,11 @@ var uintc8 = new Uint8ClampedArray(iterable);
<p>从 ECMAScript 2015 开始, <code>Uint8ClampedArray</code> 构造函数需要用一个 {{jsxref("Operators/new", "new")}} 操作符来构建。从现在开始,不使用 <code>new</code> 来调用一个 <code>Uint8ClampedArray</code> 构造函数将会抛出一个 {{jsxref("TypeError")}}。</p>
-<pre class="brush: js example-bad notranslate">var dv = Uint8ClampedArray([1, 2, 3]);
+<pre class="brush: js example-bad">var dv = Uint8ClampedArray([1, 2, 3]);
// TypeError: calling a builtin Uint8ClampedArray constructor
// without new is forbidden</pre>
-<pre class="brush: js example-good notranslate">var dv = new Uint8ClampedArray([1, 2, 3]);</pre>
+<pre class="brush: js example-good">var dv = new Uint8ClampedArray([1, 2, 3]);</pre>
<h2 id="参见">参见</h2>
diff --git a/files/zh-cn/web/javascript/reference/global_objects/unescape/index.html b/files/zh-cn/web/javascript/reference/global_objects/unescape/index.html
index 4577d2f5cc..85746f1bc3 100644
--- a/files/zh-cn/web/javascript/reference/global_objects/unescape/index.html
+++ b/files/zh-cn/web/javascript/reference/global_objects/unescape/index.html
@@ -13,7 +13,7 @@ translation_of: Web/JavaScript/Reference/Global_Objects/unescape
<h2 id="语法">语法</h2>
-<pre class="syntaxbox notranslate"><code>unescape(str)</code></pre>
+<pre class="syntaxbox"><code>unescape(str)</code></pre>
<h3 id="参数">参数</h3>
@@ -32,7 +32,7 @@ translation_of: Web/JavaScript/Reference/Global_Objects/unescape
<h2 id="示例">示例</h2>
-<pre class="brush: js notranslate">unescape('abc123'); // "abc123"
+<pre class="brush: js">unescape('abc123'); // "abc123"
unescape('%E4%F6%FC'); // "äöü"
unescape('%u0107'); // "ć"
</pre>
diff --git a/files/zh-cn/web/javascript/reference/global_objects/weakref/deref/index.html b/files/zh-cn/web/javascript/reference/global_objects/weakref/deref/index.html
index 9d9fdbdba1..2d4cf7f3b6 100644
--- a/files/zh-cn/web/javascript/reference/global_objects/weakref/deref/index.html
+++ b/files/zh-cn/web/javascript/reference/global_objects/weakref/deref/index.html
@@ -11,7 +11,7 @@ translation_of: Web/JavaScript/Reference/Global_Objects/WeakRef/deref
<h2 id="语法">语法</h2>
-<pre class="syntaxbox notranslate"><code><var>obj</var> = <var>ref</var>.deref();</code>
+<pre class="syntaxbox"><code><var>obj</var> = <var>ref</var>.deref();</code>
</pre>
<h3 id="返回值">返回值</h3>
@@ -28,7 +28,7 @@ translation_of: Web/JavaScript/Reference/Global_Objects/WeakRef/deref
<p>有关<a href="/en-US/docs/Web/JavaScript/Reference/Global_Objects/WeakRef#Examples">完整示例</a>,请参阅{{jsxref("WeakRef")}}页面的示例部分。</p>
-<pre class="brush: js notranslate">const tick = () =&gt; {
+<pre class="brush: js">const tick = () =&gt; {
// Get the element from the weak reference, if it still exists
const element = this.ref.deref();
if (element) {
diff --git a/files/zh-cn/web/javascript/reference/global_objects/weakref/index.html b/files/zh-cn/web/javascript/reference/global_objects/weakref/index.html
index 91452cd75f..9f9f275816 100644
--- a/files/zh-cn/web/javascript/reference/global_objects/weakref/index.html
+++ b/files/zh-cn/web/javascript/reference/global_objects/weakref/index.html
@@ -68,7 +68,7 @@ translation_of: Web/JavaScript/Reference/Global_Objects/WeakRef
<p>这个例子演示了在一个DOM元素中启动一个计数器,当这个元素不存在时停止:</p>
-<pre class="brush: js notranslate">class Counter {
+<pre class="brush: js">class Counter {
constructor(element) {
// Remember a weak reference to the DOM element
this.ref = new WeakRef(element);
diff --git a/files/zh-cn/web/javascript/reference/global_objects/webassembly/global/index.html b/files/zh-cn/web/javascript/reference/global_objects/webassembly/global/index.html
index 3366032120..d8577bae83 100644
--- a/files/zh-cn/web/javascript/reference/global_objects/webassembly/global/index.html
+++ b/files/zh-cn/web/javascript/reference/global_objects/webassembly/global/index.html
@@ -43,7 +43,7 @@ translation_of: Web/JavaScript/Reference/Global_Objects/WebAssembly/Global
<p>global的值发生改变, 首先设置<code>Global.value</code> 为42, 然后使用导出函数 <code>incGlobal()</code> 增加为43. 导出函数在 <code>global.wasm</code> 模块中(它将参数的值加一并返回).</p>
-<pre class="brush: js notranslate">const output = document.getElementById('output');
+<pre class="brush: js">const output = document.getElementById('output');
function assertEq(msg, got, expected) {
output.innerHTML += `Testing ${msg}: `;
diff --git a/files/zh-cn/web/javascript/reference/global_objects/webassembly/instance/index.html b/files/zh-cn/web/javascript/reference/global_objects/webassembly/instance/index.html
index 44dec6610b..de15cec004 100644
--- a/files/zh-cn/web/javascript/reference/global_objects/webassembly/instance/index.html
+++ b/files/zh-cn/web/javascript/reference/global_objects/webassembly/instance/index.html
@@ -21,7 +21,7 @@ translation_of: Web/JavaScript/Reference/Global_Objects/WebAssembly/Instance
<p><strong>重要</strong>: 由于大型模块的实例化代价极高, 开发人员应只在必须同步实例化的时候,才使用<code>Instance()</code>;绝大多数情况应该使用异步方法{{jsxref("WebAssembly.instantiate()")}} .</p>
</div>
-<pre class="syntaxbox notranslate">var myInstance = new WebAssembly.Instance(<em>module</em>, <em>importObject</em>);</pre>
+<pre class="syntaxbox">var myInstance = new WebAssembly.Instance(<em>module</em>, <em>importObject</em>);</pre>
<h3 id="参数">参数</h3>
diff --git a/files/zh-cn/web/javascript/reference/global_objects/webassembly/table/index.html b/files/zh-cn/web/javascript/reference/global_objects/webassembly/table/index.html
index 9582758e32..9be0f967cd 100644
--- a/files/zh-cn/web/javascript/reference/global_objects/webassembly/table/index.html
+++ b/files/zh-cn/web/javascript/reference/global_objects/webassembly/table/index.html
@@ -15,7 +15,7 @@ translation_of: Web/JavaScript/Reference/Global_Objects/WebAssembly/Table
<h2 id="语法">语法</h2>
-<pre class="syntaxbox notranslate">var myTable = new WebAssembly.Table(tableDescriptor);</pre>
+<pre class="syntaxbox">var myTable = new WebAssembly.Table(tableDescriptor);</pre>
<h3 id="参数">参数</h3>
@@ -68,14 +68,14 @@ translation_of: Web/JavaScript/Reference/Global_Objects/WebAssembly/Table
<p>The following example (see table2.html <a href="https://github.com/mdn/webassembly-examples/blob/master/js-api-examples/table2.html">source code</a> and <a href="https://mdn.github.io/webassembly-examples/js-api-examples/table2.html">live version</a>) creates a new WebAssembly Table instance with an initial size of 2 elements. We then print out the table length and contents of the two indexes (retrieved via {{jsxref("WebAssembly/Table/get", "Table.prototype.get()")}} to show that the length is two and both elements are {{jsxref("null")}}.</p>
-<pre class="brush: js notranslate">var tbl = new WebAssembly.Table({initial:2, element:"anyfunc"});
+<pre class="brush: js">var tbl = new WebAssembly.Table({initial:2, element:"anyfunc"});
console.log(tbl.length); // "2"
console.log(tbl.get(0)); // "null"
console.log(tbl.get(1)); // "null"</pre>
<p>We then create an import object that contains the table:</p>
-<pre class="brush: js notranslate">var importObj = {
+<pre class="brush: js">var importObj = {
js: {
tbl:tbl
}
@@ -83,7 +83,7 @@ console.log(tbl.get(1)); // "null"</pre>
<p>Finally, we load and instantiate a wasm module (table2.wasm) using the {{jsxref("WebAssembly.instantiateStreaming()")}} method.  The table2.wasm module contains two functions (one that returns 42 and another that returns 83) and stores both into elements 0 and 1 of the imported table (see <a href="https://github.com/mdn/webassembly-examples/blob/master/js-api-examples/table2.wat">text representation</a>).  So after instantiation, the table still has length 2, but the elements now contain callable <a href="/en-US/docs/WebAssembly/Exported_functions">Exported WebAssembly Functions</a> which we can call from JS.</p>
-<pre class="brush: js notranslate">WebAssembly.instantiateStreaming(fetch('table2.wasm'), importObject)
+<pre class="brush: js">WebAssembly.instantiateStreaming(fetch('table2.wasm'), importObject)
.then(function(obj) {
  console.log(tbl.length);
  console.log(tbl.get(0)());