7

複数の文字列を値として配列を作成したため、スクロールに時間がかかる非常に長い 1 行になります。複数の行に配置するために検索したところ、+ 記号を使用して行をリンクできることがわかりましたが、問題が発生しています。以下に小さな例を示します。

<script type="text/javascript">
var x;
var colorArr=["Red","Orange","Yellow",+
"Green","Blue","Purple"];
for(x=0;x<6;x++)
document.write(colorArr[x]+"<br/>");
</script>

これは以下を出力します:

Red
Orange
Yellow
NaN
Blue
Purple

基本的に、行の最初の要素が何らかの理由で未定義になります。これを正しい方法で行うにはどうすればよいですか?

4

3 に答える 3

16

は必要ありません+。次の行に進むだけです。Javascript は、行末をステートメントの終わりと同一視しません。

var colorArr=["Red","Orange","Yellow",
    "Green","Blue","Purple"];

表示されている動作を理解するには、次の点に注意してください。

var test = -"test";
alert(test);

表示されている (数値ではない) を出力しNaNます。パーサーは、"Green" を数値に変換しようとしています。これは、数式であると想定するものを評価できるようにするためです ( で始まるため+)。

于 2012-11-07T18:47:58.650 に答える
7

+ "Green"は 数値ではありません

従ってNaN

これをやってみてください:

var colorArr=["Red","Orange","Yellow",
              "Green","Blue","Purple"];

サイドバー:

NaN未定義を意味するものではありません:

NaN === undefined; // false
于 2012-11-07T18:48:50.317 に答える
1

Enter キーを押すだけで次の行に移動できます。構文的には何も必要ありません。

それが現れる理由は、 aで aNaNを追加しようとしているからです。numberstring

もしあなたが持っていたら:arr = ['whatever', 5 + 10];それは出力するでしょう['whatever', 15]

于 2012-11-07T18:50:41.443 に答える