比较常见的javascript中定义函数的区别(2)

  Function()构造函数和函数之间量之间的第三点差别是,使用构造函数Function()创建的函数不使用词法作用域,相反的,它们总是被当作顶级函数来编译,就像下面代码所说明的那样:

 var y="global";   function constructFunction()   {     var y="local";     return new Function("return y");//不捕捉局部作用域。   }   //这行代码将显示"global",因为Function()构造函数返回的函数并不使用局部作用域。   //假如使用一个函数直接量,这行代码则可能显示"local"。   alert(constructFunction());

您可能感兴趣的文章:

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/wgzxjj.html