日期:2014-05-16  浏览次数:20363 次

理解闭包_javascript[[scope]]

作用域链与[[scope]]

通过调用?Function?构造函数创建的函数对象,其内部的?[[scope]]?属性引用的作用域链中始终只包含全局对象。?

?

Js代码?
  1. var?aFunction?=?new?Function(?a,?b,?"return?a+b"?);??

aFunction.[[scope]] -> globalObject (在javascript 为 window对象)

?

通过函数声明①或函数表达式②创建的函数对象,其内部的?[[scope]]?属性引用的则是创建它们的执行环境的作用域链。

?

Js代码?
  1. function?someFunction?(?Parameters?)?{??
  2. ??
  3. ????????do?someting...??