javascript的作用域问题

今天被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都是可以获取得到的,这是什么原因?


森林海
浏览 483回答 1
1回答
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

JavaScript