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 に答える