(待求证)Either you are wrong,or I am.(借拿破仑的话拽一句)

来源:互联网 发布:淘宝保证金能退回吗 编辑:程序博客网 时间:2024/06/07 01:25

        2010版 DOM章节,老师说在匿名函数里重复定义var的变量不冲突,因为“他们是两个函数,只是写在了一起而已”,

        但是我写代码试验后,发现在匿名函数中可以取到在匿名函数外定义的var变量,这说明匿名函数外的变量的作用域可以延伸到匿名函数内,那就与老师说的冲突了,但是事实是不冲突,这是为什么捏?待求真。

    <script type="text/javascript">        function initevent() {            var a = 4;            var btn1 = document.getElementById("btn1");            btn1.onclick = function() {                alert(a);            }                                }    </script>
以上JS的结果是:4

这说明:在匿名函数里是可以取到外边函数的值的,所以老师的说法是不right的,但为什么按老师的写法(在匿名函数内再定义一次a变量的做法),JS不提示重复定义变量了呢?


原创粉丝点击