摘要: 因为每个函数在被调用时,其活动对象都会自动取得两个特殊的变量,this和arguments.内部函数的搜索这两个变量时,只会搜索到其活动对象为止。因此永远不可能直接访问到外部函数中的这两个变量 var name = "the windows"; var obj = { name:"lin615", getName: function(){ return function(){ return this.name; }; } }; // alert(obj.getName()()); // the windows ... 阅读全文
posted @ 2014-04-05 10:04 好记性还真不如烂笔头 阅读(217) 评论(0) 推荐(0) 编辑
摘要: 这样函数会返回一个数组。表面上看,似乎每个函数都应该返回自己的索引值,即位置为0的函数返回0,位置为1的返回1,以此类推。但实际上,每个函数都返回10。因为每个函数的作用域链中都保存着 cFunc()函数的活动对象,所以它们引用的都是同一个变量i,当cFunc() 函数返回后,变量 i 的值为 10,此时每个函数都引用着保存变量 i 的同一个变量对象,所以在每个函数内部 i 的值都是 10 function cFunc() { var result = new Array(); for(var i=0; i"); } //结果为 /*10101010101010101010 */== 阅读全文
posted @ 2014-04-05 09:43 好记性还真不如烂笔头 阅读(272) 评论(0) 推荐(0) 编辑