我已经全局声明了我的数组:
window.onload = function(){
var test = 'test';
var sel = new Array();
login_check();
};
一切都是从我的引擎中的login_check()
函数继承而来的。问题是{I}设置var test
时我在函数中使用它时未设置var sel
。
我在我的函数中使用它:
console.log(test); //displays as intended
if(sel.length > 0){ //ERROR Uncaught ReferenceError: sel is not defined
//do something
}
我应该提到sel在这一点上通常是空的。 JS是否有些不允许设置全局数组?
答案 0 :(得分:1)
我建议将变量移到函数之外,例如
var test;
var sel;
window.onload = function(){
test = 'test';
sel = new Array();
login_check();
};
答案 1 :(得分:0)
window.onload = function(){
var window.test = 'test';
var window.sel = new Array();
login_check();
};
在功能:
中console.log(window.test); //displays as intended
if(window.sel.length > 0) {
//do something
}
如果问题仍然存在,可能是由于此原因,因为window.sel
是一个空数组,可以将其视为null
。
尝试另一种方法将变量声明保留在函数之外:
var test;
var sel;
window.onload = function(){
test = 'test';
sel = new Array();
login_check();
};
答案 2 :(得分:0)
要制作Objects/Variables
全局,您可以使用在功能块之外声明它的简单方法
<强>样品强>
var test;
var sel;
window.onload = function(){
test = 'test';
sel = new Array();
login_check();
};
希望这有帮助!