diff --git a/docs/iterator.md b/docs/iterator.md index 70cc0d4..5aefebb 100644 --- a/docs/iterator.md +++ b/docs/iterator.md @@ -708,14 +708,14 @@ var es6 = { standard: "ECMA-262" }; -for (e in es6) { +for (let e in es6) { console.log(e); } // edition // committee // standard -for (e of es6) { +for (let e of es6) { console.log(e); } // TypeError: es6 is not iterable diff --git a/docs/string.md b/docs/string.md index ad5bef3..a1da372 100644 --- a/docs/string.md +++ b/docs/string.md @@ -21,9 +21,9 @@ JavaScript允许采用`\uxxxx`形式表示一个字符,其中“xxxx”表示 // " 7" ``` -上面代码表示,如果直接在“\u”后面跟上超过`0xFFFF`的数值(比如`\u20BB7`),JavaScript会理解成“\u20BB+7”。由于`\u20BB`是一个不可打印字符,所以只会显示一个空格,后面跟着一个7。 +上面代码表示,如果直接在`\u`后面跟上超过`0xFFFF`的数值(比如`\u20BB7`),JavaScript会理解成`\u20BB+7`。由于`\u20BB`是一个不可打印字符,所以只会显示一个空格,后面跟着一个`7`。 -ES6对这一点做出了改进,只要将码点放入大括号,就能正确解读该字符。 +ES6 对这一点做出了改进,只要将码点放入大括号,就能正确解读该字符。 ```javascript "\u{20BB7}" @@ -53,7 +53,7 @@ hell\u{6F} // 123 ## codePointAt() -JavaScript内部,字符以UTF-16的格式储存,每个字符固定为2个字节。对于那些需要4个字节储存的字符(Unicode码点大于0xFFFF的字符),JavaScript会认为它们是两个字符。 +JavaScript内部,字符以UTF-16的格式储存,每个字符固定为`2`个字节。对于那些需要`4`个字节储存的字符(Unicode码点大于`0xFFFF`的字符),JavaScript会认为它们是两个字符。 ```javascript var s = "𠮷"; @@ -65,7 +65,7 @@ s.charCodeAt(0) // 55362 s.charCodeAt(1) // 57271 ``` -上面代码中,汉字“𠮷”的码点是`0x20BB7`,UTF-16编码为`0xD842 0xDFB7`(十进制为55362 57271),需要4个字节储存。对于这种4个字节的字符,JavaScript不能正确处理,字符串长度会误判为2,而且`charAt`方法无法读取整个字符,`charCodeAt`方法只能分别返回前两个字节和后两个字节的值。 +上面代码中,汉字“𠮷”(注意,这个字不是”吉祥“的”吉“)的码点是`0x20BB7`,UTF-16编码为`0xD842 0xDFB7`(十进制为`55362 57271`),需要`4`个字节储存。对于这种`4`个字节的字符,JavaScript不能正确处理,字符串长度会误判为`2`,而且`charAt`方法无法读取整个字符,`charCodeAt`方法只能分别返回前两个字节和后两个字节的值。 ES6提供了`codePointAt`方法,能够正确处理4个字节储存的字符,返回一个字符的码点。