“这个”在下面的javascript中代表什么?

时间:2012-04-26 16:17:50

标签: javascript call this

(抱歉,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);

4 个答案:

答案 0 :(得分:7)

好吧,假设没有父范围,那就是window

编辑:参见示例:http://jsfiddle.net/Umseu/1

答案 1 :(得分:5)

可能window,因为它不会在任何特定的上下文中赋予this任何特殊含义。

答案 2 :(得分:3)

窗口。 .call(this)没有写在鸟里面。它只是调用一个恰好返回“Bird”“构造函数”的匿名函数。

答案 3 :(得分:1)

在匿名函数的第一行调用console.log(this)。返回范围window