可以从原型函数中定义'this'吗?

时间:2013-12-16 04:45:20

标签: javascript prototype

这个原型函数是否有可能返回false或者它是一个无意义的检查,它总会返回true?

if (!Date.prototype.hasOwnProperty("foo")) {
    Date.prototype.foo = function () {
        var date = this;
        if (!date) {
            return false;
        }
        return true;
    }
}

1 个答案:

答案 0 :(得分:4)

如果启用strict mode,则JavaScript中的this关键字仅为undefined。否则,它将默认引用window对象,除非以下任何一个为真:

  • 使用new运算符
  • 调用该函数
  • 使用thiscall()
  • 将另一个对象绑定到apply()