6.关于js作用域链的面试题
题目:
5、按顺序写出alert弹出窗口的内容。
1 var name = "The Window"; 2 var object = { 3 name : "My Object", 4 getNameFunc : function(){ 5 alert('1.' + this.name); 6 return function(){ 7 return this.name; 8 }; 9 } 10 }; 11 var func = object.getNameFunc(); 12 alert('2.' + func()); 13 alert('3.' + func.call(object)); 14 alert('4.' + func.apply(object));
1.func.call(object)和func.apply(object)表示把object作用域扩展到func的作用域,让其执行。