在页面加载时,我设置了一个变量
$(document).ready(function() {
var inv_count = 3;
});
但是,当我尝试在函数中引用该变量时,它不起作用。
function blah(a,b) {
alert (inv_count);
}
为什么是这样?我怎样才能绕过它?
(这里是新手)
在页面加载时,我设置了一个变量
$(document).ready(function() {
var inv_count = 3;
});
但是,当我尝试在函数中引用该变量时,它不起作用。
function blah(a,b) {
alert (inv_count);
}
为什么是这样?我怎样才能绕过它?
(这里是新手)
你有一个范围问题,我建议你阅读一下,因为你可以改进你的 javascript 很多,但是你可以通过两种一般的方式来解决它:
var inv_count; //you declare your variable in a global scope, it's not very good practice
$(document).ready(function() {
inv_count = 3;
});
function blah(a,b) {
alert (inv_count);
}
或者
$(document).ready(function() {
var inv_count = 3;
function blah(a,b) {
alert (inv_count);
}
//you declare everything inside the scope of jQuery, if you want to acess blah outside use:
//window.blah = blah;
});
如果您不知道它们是如何工作的,我还建议您阅读有关clousures的信息。
如果您在函数内声明变量,则该变量名将无法在该函数范围之外访问。将声明移到函数外:
var inv_count;
$(document).ready(function() {
inv_count = 3;
});