2

我通过连接前 100 个 unicode 字符来构造一个字符串,就像这样

var str = "";
for (var i = 0; i < 100; i++) {
    str += String.fromCharCode(i);
}

在 Firefox 和 Chrome 中,str具有我期望的值,即

!"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[]^_`abc

另一方面,Internet Explorer 和 Opera 返回空字符串。

您可以在 jsFiddle 上的浏览​​器中对其进行测试。

是什么导致了这种行为差异?

4

1 回答 1

6

第一个 Unicode 代码点代表 NUL 字符,这可能使某些浏览器认为它们已到达字符串结尾(遵循 C 约定)。

于 2012-04-17T22:27:11.753 回答