存储在变量中时,数组长度未定义

时间:2015-07-04 13:18:13

标签: javascript arrays

在以下w3schools example中 - 为什么会返回3

<!DOCTYPE html>
<html>
<body>

<p id="demo"></p>

<script>
var cars = [
    "Saab",
    "Volvo",
    "BMW"
];
document.getElementById("demo").innerHTML = cars.length; //returns 3

</script>

</body>
</html>

当我尝试在变量中存储cars.length时,它返回undefined?

var test = cars.lenght;
document.getElementById("demo").innerHTML = test; // returns undefined

4 个答案:

答案 0 :(得分:9)

你有拼写错误

 var test = cars.length;

答案 1 :(得分:2)

cars.lenght

???

&#34; lenght&#34; !=&#34;长度&#34;

答案 2 :(得分:1)

错字错误。您有未定义的属性(lenght)来访问数组的length属性。你应该改为使用

cars.length

它给出了数组汽车的长度 - 3.因此var测试将分配3个。

答案 3 :(得分:0)

显然,cars.length会返回3,因为我们正在尝试获取数组的长度。

function myFunction() {
var index;
var text = "<ul>";
var cars= [
  "Saab",
  "Volvo",
  "BMW"];
for (index = 0; index < cars.length; index++) {
    text += "<li>" + cars[index] + "</li>";
}
text += "</ul>";
document.getElementById("demo").innerHTML = text;
}

在上面使用for

的示例中检查index < cars.length循环

以上代码的输出

  • 萨伯
  • 沃尔沃
  • BMW