2012-09-28 26 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功能或移动它使用它的代码。