今天被javascript的作用域搞混了,請各位幫我看下這段代碼<script type="text/javascript" src="//cdn.bootcss.com/jquery/2.2.4/jquery.min.js"></script><script type="text/javascript">
$(document).ready(function(){ var test = function () { console.log('hello');
} var i = 1;
$.each([2], function() { console.log(i);
setTimeout('test()', 1000);
})
})</script>這段代碼提示ReferenceError: Can't find variable: test但是當把$(document).ready(function()刪掉或者把var test改成test,即不用var的時候,運行就正常了,可是變量i不管有沒有var都是可以獲取得到的,這是什么原因?
javascript的作用域問題
森林海
2018-09-03 13:13:20