我通过连接前100个unicode字符构建一个字符串,就像这个
var str = "";
for (var i = 0; i < 100; i++) {
str += String.fromCharCode(i);
}
在Firefox和Chrome中,str
具有我预期的值,即
!"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[]^_`abc
You can test it out in your browser on jsFiddle.
导致这种行为差异的原因是什么?
答案 0 :(得分:6)
第一个Unicode代码点表示NUL字符,这可能使某些浏览器认为它们到达字符串的末尾(遵循C约定)。