函数中的jquery变量

use*_*585 6 javascript variables jquery

在页面加载中,我设置了一个变量

$(document).ready(function() {
  var inv_count = 3;
  });
Run Code Online (Sandbox Code Playgroud)

当我尝试在函数内部引用该变量时,它不起作用.

function blah(a,b) {
   alert (inv_count);
   }
Run Code Online (Sandbox Code Playgroud)

为什么是这样?我怎么能绕过它呢?

(菜鸟在这里)

nic*_*elo 12

你有一个范围问题,我建议你仔细阅读它,因为你可以提高你的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);
}
Run Code Online (Sandbox Code Playgroud)

要么

$(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;
});
Run Code Online (Sandbox Code Playgroud)

如果你不知道它们是如何工作的,我也建议你阅读一下clousures.


Mic*_*Liu 11

如果在函数内声明变量,则变量名将在该函数的范围之外不可访问.将声明移到函数外部:

var inv_count;
$(document).ready(function() {
    inv_count = 3;
});
Run Code Online (Sandbox Code Playgroud)