2014-10-07 79 views
0

我相信這是一個範圍問題,但我一直無法解決它,你可以看到我已經嘗試過的一些事情已經被註釋掉了,也許你可以解決它。我有一個變量,爲StackOverflow的目的我已經命名它undefinedVar,我嘗試調用一個方法擁有?通過這個變量,但當我做我得到Uncaught ReferenceError: undefinedVar is not defined。現在,這個.html文件顯然有很多,但這個問題沒有任何關係。在html頁面中使用javascript的範圍問題

<!DOCTYPE html> 
<html> 
<head> 

<script> 
    varX.ready(functionName); 
    function functionName() { 
     varX.ready(unDefinedVar.itsFunction()); 
    }; 
</script> 

</head> 

<body> 
    <div id="#stackOverflow"> 

     <div id="demo"></div> 

    </div><!-- End of the #stackOverflowDiv --> 

</body> 
    <script> 
    //$(document).ready(function() { 
    //$(function() { 
     unDefinedVar = kendo.observable({ 
      randomVariable: [], 
      itsFunction: function() { 
       #blahblahblah 
      } 
     }); 
    //}); //end $function 
    //}); //End Document.ready 

    </script> 
</html> 

..或什麼是正確的方法來使這項工作?

+0

您的示例不完整。什麼是'varX'? – 2014-10-07 19:53:24

+0

它在另一個文件中被導入 – 2014-10-07 19:55:13

+0

爲什麼第二個腳本標記在體外? – Overv 2014-10-07 20:00:25

回答

1

你需要把該功能你定義undefinedVar之後,所以它看起來是這樣的:

undefinedVar = kendo.observable({ 
    randomVariable: [], 
    itsFunction: function() { 
     #blahblahblah 
    } 
}); 

function functionName() { 
    varX.ready(undefinedVar.itsFunction()); 
};  
varX.ready(functionName); 

此外,您已經定義undefinedVar,但希望引用unDefinedVar。確保案件匹配!