aboutsummaryrefslogtreecommitdiff
path: root/files/zh-cn/web/javascript/reference/iteration_protocols/index.html
diff options
context:
space:
mode:
authorIrvin <irvinfly@gmail.com>2022-02-16 02:02:49 +0800
committerIrvin <irvinfly@gmail.com>2022-02-16 02:35:54 +0800
commit01b0e12ba27b5069248fd09235e9a7143915ee30 (patch)
tree0e9edf538dc3fa3331e1dbb79239b58186765f86 /files/zh-cn/web/javascript/reference/iteration_protocols/index.html
parent6ca84f1794af830ada9736d7289ce29aabb04ca3 (diff)
downloadtranslated-content-01b0e12ba27b5069248fd09235e9a7143915ee30.tar.gz
translated-content-01b0e12ba27b5069248fd09235e9a7143915ee30.tar.bz2
translated-content-01b0e12ba27b5069248fd09235e9a7143915ee30.zip
remove `notranslate` class in zh-CN
Diffstat (limited to 'files/zh-cn/web/javascript/reference/iteration_protocols/index.html')
-rw-r--r--files/zh-cn/web/javascript/reference/iteration_protocols/index.html30
1 files changed, 15 insertions, 15 deletions
diff --git a/files/zh-cn/web/javascript/reference/iteration_protocols/index.html b/files/zh-cn/web/javascript/reference/iteration_protocols/index.html
index 975c55a7fe..d55dfd4111 100644
--- a/files/zh-cn/web/javascript/reference/iteration_protocols/index.html
+++ b/files/zh-cn/web/javascript/reference/iteration_protocols/index.html
@@ -84,7 +84,7 @@ translation_of: Web/JavaScript/Reference/Iteration_protocols
<p>这样做允许一个迭代器能被各种需要可迭代对象的语法所使用。因此,很少会只实现迭代器协议,而不实现可迭代协议。</p>
-<pre class="brush: js example-good notranslate"><code>var myIterator = {
+<pre class="brush: js example-good"><code>var myIterator = {
next: function() {
// ...
},
@@ -96,13 +96,13 @@ translation_of: Web/JavaScript/Reference/Iteration_protocols
<p>{{jsxref("String")}} 是一个内置的可迭代对象:</p>
-<pre class="brush: js notranslate">let someString = "hi";
+<pre class="brush: js">let someString = "hi";
typeof someString[Symbol.iterator]; // "function"
</pre>
<p><code>String</code> 的默认迭代器会依次返回该字符串的各码点(code point):</p>
-<pre class="brush: js notranslate">let iterator = someString[Symbol.iterator]();
+<pre class="brush: js">let iterator = someString[Symbol.iterator]();
iterator + ""; // "[object String Iterator]"
iterator.next(); // { value: "h", done: false }
@@ -111,11 +111,11 @@ iterator.next(); // { value: undefined, done: true }
<p>一些内置的语法结构——比如{{jsxref("Operators/Spread_operator", "展开语法")}}——其内部实现也使用了同样的迭代协议:</p>
-<pre class="brush: js notranslate">[...someString] // ["h", "i"]</pre>
+<pre class="brush: js">[...someString] // ["h", "i"]</pre>
<p>我们可以通过提供自己的 <code>@@iterator</code> 方法,重新定义迭代行为:</p>
-<pre class="brush: js notranslate">// 必须构造 String 对象以避免字符串字面量 auto-boxing
+<pre class="brush: js">// 必须构造 String 对象以避免字符串字面量 auto-boxing
var someString = new String("hi");
someString[Symbol.iterator] = function() {
return { // 只返回一次元素,字符串 "bye",的迭代器对象
@@ -134,7 +134,7 @@ someString[Symbol.iterator] = function() {
<p>注意重新定义的 <code>@@iterator</code> 方法是如何影响内置语法结构的行为的:</p>
-<pre class="brush: js notranslate">[...someString]; // ["bye"]
+<pre class="brush: js">[...someString]; // ["bye"]
someString + ""; // "hi"
</pre>
@@ -148,7 +148,7 @@ someString + ""; // "hi"
<p>我们可以实现一个自己的可迭代对象,就像这样:</p>
-<pre class="brush: js notranslate">var myIterable = {};
+<pre class="brush: js">var myIterable = {};
myIterable[Symbol.iterator] = function* () {
yield 1;
yield 2;
@@ -168,7 +168,7 @@ myIterable[Symbol.iterator] = function* () {
<li>{{jsxref("WeakSet", "new WeakSet([<var>iterable</var>])")}}</li>
</ul>
-<pre class="notranslate">new Map([[1, 'a'], [2, 'b'], [3, 'c']]).get(2); // "b"
+<pre>new Map([[1, 'a'], [2, 'b'], [3, 'c']]).get(2); // "b"
let myObj = {};
@@ -200,7 +200,7 @@ new WeakSet(function* () {
<p>一些语句和表达式需要可迭代对象,比如 {{jsxref("Statements/for...of", "for...of")}} 循环、{{jsxref("Operators/Spread_syntax", "展开语法")}}、{{jsxref("Operators/yield*", "yield*")}},和{{jsxref("Operators/Destructuring_assignment", "解构赋值")}}。</p>
-<pre class="brush: js notranslate">for(let value of ["a", "b", "c"]){
+<pre class="brush: js">for(let value of ["a", "b", "c"]){
console.log(value);
}
// "a"
@@ -226,7 +226,7 @@ a // "a"
<p>使用这样的可迭代对象很可能会导致如下的运行时(runtime)异常,或者不可预料的表现:</p>
-<pre class="brush: js example-bad notranslate">var nonWellFormedIterable = {}
+<pre class="brush: js example-bad">var nonWellFormedIterable = {}
nonWellFormedIterable[Symbol.iterator] = () =&gt; 1
[...nonWellFormedIterable] // TypeError: [] is not a function
</pre>
@@ -235,7 +235,7 @@ nonWellFormedIterable[Symbol.iterator] = () =&gt; 1
<h3 id="简单迭代器">简单迭代器</h3>
-<pre class="brush: js notranslate">function makeIterator(array) {
+<pre class="brush: js">function makeIterator(array) {
let nextIndex = 0;
return {
next: function () {
@@ -258,7 +258,7 @@ console.log(it.next().done); // true
<h3 id="无穷迭代器">无穷迭代器</h3>
-<pre class="brush: js notranslate">function idMaker() {
+<pre class="brush: js">function idMaker() {
let index = 0;
return {
next: function() {
@@ -280,7 +280,7 @@ console.log(it.next().value); // '2'
<h3 id="使用生成器">使用生成器</h3>
-<pre class="brush: js notranslate">function* makeSimpleGenerator(array) {
+<pre class="brush: js">function* makeSimpleGenerator(array) {
let nextIndex = 0;
while(nextIndex &lt; array.length) {
@@ -313,7 +313,7 @@ console.log(gen.next().value); // '2'
<h3 id="ES2015_类_class_中的迭代器">ES2015 类 class 中的迭代器</h3>
-<pre class="brush: js notranslate">class SimpleClass {
+<pre class="brush: js">class SimpleClass {
constructor(data) {
this.data = data
}
@@ -347,7 +347,7 @@ for (const val of simple) {
<p>{{jsxref("Generator", "生成器")}}对象既是迭代器,也是可迭代对象:</p>
-<pre class="brush: js notranslate">let aGeneratorObject = function* (){
+<pre class="brush: js">let aGeneratorObject = function* (){
yield 1;
yield 2;
yield 3;