0

我在声明一个变量时遇到了麻烦。

我有

function employees(){
   //init employees...;
}

employees.prototype.getName=function(){
            if(ajax.doingStuff){
                return;
            }               
        } 

$(document).ready(function(){
     var ajax=new ajaxCall();
     var people=new employees();   

     $('#option').on('change', function(){
                people.getName();                
       })        

})

当我点击$('#option)按钮时,我得到了

Uncaught ReferenceError: ajax is not defined

谁能帮我解决这个问题?非常感谢!

4

2 回答 2

3

你有一个范围问题。该ajax变量仅在ready函数内可用。您要么需要将ajax变量移出ready函数,要么将使用它的代码移入。

于 2012-09-28T20:45:52.283 回答
2

您的变量ajax只存在于传递给ready(). 如果您想在别处使用它,您要么必须传递对该对象的引用(例如,ajax作为getName函数的参数传入),要么将所有代码移动到同一范围。

例如:

var ajax=new ajaxCall();

可以移动到全局范围,或者:

function employees(){
   //init employees...;
}

可以移动到就绪函数中。

于 2012-09-28T20:46:15.327 回答