我仍然是编程和javascript的新手。我现在面临的问题是我无法访问数组内的数据。 这是我的代码片段
global.arr = [];
var id = 12;
for (var i=0; i<5; i++) {
arr.push(id);
id++;
}
console.log(arr);
console.log(arr[0]);
我的问题是,如何访问数据以及我在这里做错了什么?
以下是我目前的代码,它似乎仍然无法运作:
var arr = [];
var id = 12;
for (var i=0; i<5; i++) {
arr.push(id);
id++;
}
console.log(arr);
console.log(arr[0]);
答案 0 :(得分:6)
编辑:再扩展一下:
global
不是JavaScript对象。有 global objects ,但您可以通过window
而不是global
访问它们。只有在其他地方将global
设置为window
时,您的代码才有效。
除非您有充分的理由使用global
(或window
),否则只需使用var
或let
定义数组(以及其他变量)
let arr = [];
let id = 12;
for (let i=0; i<5; i++) {
arr.push(id);
id++;
}
console.log(arr);
console.log(arr[0]);
&#13;
答案 1 :(得分:2)
我相信global
是您问题的根源。它在浏览器中使用window
window.arr = [];
var id = 12;
for (var i=0; i<5; i++) {
arr.push(id);
id++;
}
console.log(arr);
console.log(arr[0]);
但是,最好不要直接设置为window
,而是使用var arr = []
或let arr = []
答案 2 :(得分:2)
对于全局数组,您不需要设置
global.arr = [];
只需设置一个let变量:
let arr = [];
var id = 12;
请参阅:Let
然后使用您的代码:
let arr = [];
var id = 12;
for (var i=0; i<5; i++) {
arr.push(id);
id++;
}
console.log(arr);
console.log(arr[0]);
答案 3 :(得分:1)
在函数外声明的变量变为GLOBAL。 你可以声明变量arr。
var arr = [];
var id = 12;
for (var i=0; i<5; i++) {
arr.push(id);
id++;
}
console.log(arr);
console.log(arr[0]);
&#13;