什么是.j在ajax中使用for循环和.length用于数字输出之间的区别?

时间:2017-08-10 06:10:11

标签: javascript json ajax

我注意到for循环AJAX版本没有像其他版本那样输出数字为什么会这样? The number version link

和AJAX版本。

INPUT

<!DOCTYPE html>
<html>
<body>

<div id="demo">
<button id="bg" type="button" onclick="x()">Change Content</button>
</div>

<script>
function x() {

var xhr = new XMLHttpRequest();
xhr.onreadystatechange = function () {
if (xhr.readyState == 4) {
var employees = JSON.parse(xhr.responseText);
 document.getElementById("demo").innerHTML = "";
for(var i=0;i<employees.length;i++){
    employee = employees[i];
    document.getElementById("demo").innerHTML += '<br>' + employee.name;
}
}
};
xhr.open("GET", "burgerking.json", true);
xhr.send();
}
</script>

</body>
</html>

输出

史蒂夫 担 肯

1 个答案:

答案 0 :(得分:0)

归结为JavaScript中 string.length Array.length 之间的差异。

您分享的链接是JavaScript中字符串的string.length属性的示例,请继续阅读:
length属性表示字符串的长度 语法var x = 'Mozilla'; var empty = ''; console.log('Mozilla is ' + x.length + ' code units long'); /* "Mozilla is 7 characters long" */ console.log('The empty string has a length of ' + empty.length); /* "The empty string has a length of 0" */
返回字符串中的字符数

employees

在上面的代码示例中,您尝试一次访问employees.length数组一个元素,var items = ['shoes', 'shirts', 'socks', 'sweaters']; items.length; // returns 4 提供总数没有员工或数组中元素的总数,请继续阅读:

作为Array类型实例的对象的 length 属性设置或返回该数组中元素的数量。

for(var i=0;i<employees.length;i++){
    employee = employees[i];
    document.getElementById("demo").innerHTML += '<br>' + employee.name;
}

在上面分享的代码段中:

for(var i=0;i<employees.length;i++)

当你写:

时,你正在迭代一个数组
i

这意味着您将循环直到employees.length小于employees.length
i 会返回数字,就像上面分享的示例一样。

进入循环执行块之后,使用employees访问employee = employees[i]; 数组的特定元素。您可以通过引用索引号来引用数组元素。像这样:

员工是一个变量,其中包含员工数组的 i 元素

employee.name // returns John

您可以访问 员工 变量的 名称 属性,该变量返回文本输出

vector <int>& vec_return(){

另外值得注意的是,在JavaScript中, String 字符序列。换句话说,是一个字符数组。

希望这有帮助!