如下程序段
<script type="text/javascript">
void function (){
i=1;
function fun(){}
}();
</script>
为什么我在外部不能new fun()呢,而可以访问i。

解决方案 »

  1.   

    要是new的话 要么是函数变量 要么就是函数对象new Function  
      

  2.   


                void function (){
                }();
    这个匿名函数执行产生了闭包空间里面的作用域私有
    i能访问是因为你 没有定义它 这样就默认到全局定义了 所以
                void function (){
                    var i=1;
                    function fun(){}
                }();
                alert(i);
    这样就访问不到了
      

  3.   

     it ,then study it