我创建了一个包含多个字符串作为值的数组,因此它变成了一个非常长的行,需要一段时间才能滚动。把它放在多行我搜索,发现我可以使用+号来链接这些行,但我遇到了问题。这是一个小例子:
<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
基本上,无论哪个元素是第一个元素,由于某种原因变得不确定。我该怎么做正确的方法?
答案 0 :(得分:13)
您不需要+
,只需转到下一行。 Javascript不等于该行的结尾与语句的结尾。
var colorArr=["Red","Orange","Yellow",
"Green","Blue","Purple"];
要了解您所看到的行为,请注意:
var test = -"test";
alert(test);
输出您所看到的NaN
(不是数字)。解析器正在尝试将“Green”转换为数字 - 以便它可以评估它假设的数学表达式(因为它以+
开头)。
答案 1 :(得分:6)
+ "Green"
不一个数字。
因此NaN
尝试这样做:
var colorArr=["Red","Orange","Yellow",
"Green","Blue","Purple"];
NaN
不表示未定义:
NaN === undefined; // false
答案 2 :(得分:1)
你可以按Enter键进入下一行,语法上不需要任何东西。
它出现NaN
的原因是它正在尝试添加number
string
。
如果您有:arr = ['whatever', 5 + 10];
,则会输出['whatever', 15]