学习笔记---javascript的this问题

来源:互联网 发布:sql server哪本书好 编辑:程序博客网 时间:2024/05/17 09:06
var name = "window";

var Bob = {
name: "Bob",
showName: function(){
alert(this.name);
}
};

var Tom = {
name: "Tom",
showName: function(){
var fun = Bob.showName;
fun();
}
};

Tom.showName();  //window

这里为什么显示window 而不是Bob或者Tom,这里var fun = Bob.showName;只是把函数赋给fun,并没有执行,fun()才是执行的地方。值得一说的地方时,alert(this.name);这里的this并不是声明的时候的this,而是调用者的this。这里最终调用的是fun(),没有声明是谁。所以默认为全局对象。

0 0
原创粉丝点击