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

Array length is undefined when stored in variable

本文关键字:数组 未定义 变量 存储      更新时间:2023-09-26

在下面的w3schools示例中-为什么会返回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

您有拼写错误

 var test = cars.length;
cars.lenght

"lenght"!="长度">

打字错误。您有未定义的属性(lenght(来访问数组的长度属性。你应该使用

cars.length

它给出了阵列车的长度-3。因此var测试将有3个分配给它。

显然,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

以上代码的输出将是

  • 萨博
  • 沃尔沃
  • 宝马