2012-09-28 128 views
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 

誰能幫我解決這個問題呢?非常感謝!

+0

「ajaxCall」在哪裏定義? – j08691

+0

哎呀。一些其他地方。和我的console.log ajax在document.ready下響應一個對象。 – Rouge

回答

2

你的變量ajax只到ready()傳遞函數的範圍內存在。如果你想在其他地方使用它,你必須傳遞一個對該對象的引用(例如,傳入ajax作爲getName函數的參數),或者將所有代碼移到相同的作用域。

例如:

var ajax=new ajaxCall(); 

可移至全球範圍內,或:

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

可以移動到準備功能。

3

您有範圍問題。 ajax變量僅在ready函數中可用。你要麼需要將ajax變量搬出ready功能或移動它使用它的代碼。