为什么不同浏览器生成不同的字符串

时间:2012-04-17 22:21:56

标签: javascript string

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

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

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

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

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

You can test it out in your browser on jsFiddle.

导致这种行为差异的原因是什么?

1 个答案:

答案 0 :(得分:6)

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