未定义的变量问题

时间:2012-09-28 20:42:50

标签: jquery

我正在获得声明的变量。

我有

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

任何人都可以帮我解决这个问题吗?非常感谢!

2 个答案:

答案 0 :(得分:3)

您有范围问题。 ajax变量仅在ready函数中可用。您需要将ajax变量移出ready函数或移动使用它的代码。

答案 1 :(得分:2)

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

例如:

var ajax=new ajaxCall();

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

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

可以移入就绪功能。