构造函数的作用域链

学习文章----汤姆大叔的博客

总结笔记:

通过构造函数创建的函数的[[scope]]属性总是唯一的全局对象。

var x = 10;
 
function foo() {
 
  var y = 20;
  
  var barFn =new Function('alert(x); alert(y);');
 
  barFn(); // 10, "y" is not defined
 
}
 
foo();

 

顺便写一下,构造函数的一个特殊的地方

var a = [];
 
for (var k = 0; k < 100; k++) {
  a[k] = Function(''); // new可以省略,一直是100个不同的函数
}

  

posted @ 2016-11-19 15:30  FatDong  阅读(172)  评论(0编辑  收藏  举报