JavaScript instanceof

时间:2014-03-13 13:58:55

标签: javascript inheritance

您能告诉我为什么在下面的示例中sub instanceof Superfalse

function Super(){
    var obj = {
        prop1: "value1"
    };
    return obj;
}

var sub = new Super();
sub instanceof Super // false

1 个答案:

答案 0 :(得分:3)

因为它不是该类型的实例 - 您已经返回了一个匿名对象。如果你这样写的话:

function Super(){
 this.prop1 = 'value1';   
}

var sub = new Super();
console.log(sub instanceof Super) // true

它可以按预期工作