(抱歉,javascript中的另一个this
问题。)
我有下面的代码,我想知道在最后的电话中,“这个”代表什么 - 窗口还是鸟?
var Bird = (function () {
Bird.name = 'Bird';
function Bird(name) {
this.name = name;
}
Bird.prototype.move = function (feet) {
return alert(this.name + (" flew" + feet + "ft."));
};
return Bird;
}).call(this);
答案 0 :(得分:7)
好吧,假设没有父范围,那就是window
编辑:参见示例:http://jsfiddle.net/Umseu/1
答案 1 :(得分:5)
可能window
,因为它不会在任何特定的上下文中赋予this
任何特殊含义。
答案 2 :(得分:3)
窗口。 .call(this)
没有写在鸟里面。它只是调用一个恰好返回“Bird”“构造函数”的匿名函数。
答案 3 :(得分:1)
在匿名函数的第一行调用console.log(this)
。返回范围window
。