首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 网站开发 > JavaScript >

关于数组中存放funciton的this指代有关问题

2013-09-29 
关于数组中存放funciton的this指代问题var n []n.push(function(){alert(this)})n[0]() //为什么这里

关于数组中存放funciton的this指代问题
var n = [];
        n.push(function(){alert(this)});
        n[0](); //为什么这里的this指代是数组对象
var bb =n[0];
    bb();  //这里的this指代的是window对象

[解决办法]
 n[0]();  是n 对象下"0" 属性
 var bb =n[0];  
  bb 相当 于 window.bb 
 
[解决办法]
function func() { alert(this);}
        var n = [];
        n.push( func);
        n[0](); //为什么这里的this指代是数组对象
        var bb = n[0];
        bb();  //这里的this指代的是window对象
        var obj = {func:func };
        obj.func(); //现在this是object
应该这样理解吧.
 n[0](); ===func.call(n);
 bb();   ===func.call();
 obj.func()===func.call(obj);
[解决办法]

var A = {
a : function(){
var $a = this;
alert($a);
}
}
A.a();
var $b = A.a;
$b();

热点排行
Bad Request.