由于某些原因,我不得不在文档的末尾声明一个变量,这是它的外观:
<script src="/path/to/jquery.js"></script>
<!-- other libraries are here -->
<script type="text/javascript">
var myImportantVariable = someIntValue;
</script>
<script src="/my/own/scripts.js"></script>
</body></html>
现在,在scripts.js
内我想使用该变量,但在某些时候它变得未定义:
jQuery(document).ready(function () {
$("#myDOMelement").someExistingAndWorkingFunction(function() {
// <--- here myImportantVariable value is correct
myOtherFunction($(this).val());
});
});
function myOtherFunction($valueArgument)
{
// <--- here myImportantVariable is undefined
}
我不确定,发生了什么。我也尝试在最后声明变量(在链接所有脚本之后)和document ready
块内部,没有任何作用。我认为它应该可以从函数中访问,但事实并非如此。你能解释一下,为什么?
编辑回答评论中的问题:
myImportantVariable
内声明scripts.js
,它是动态的myDomElement
是输入的ID $(this).val()
被正确获取(在块内的调试器上检查,myImportantVariable
仍然正确)myOtherFunction
(在myOtherFunction
开头的调试器上检查)myOtherFunction
的开头(已检查...正确!调试器!),myImportantVariable
突然未定义