我有以下构造函数和指向SuperType实例的SubType原型(prototype)。当我执行x.isPrototypeOf(SubType.prototype)时,它返回false。我很困惑,因为我已经明确地将x设置为SubType的原型(prototype)。有人能告诉我为什么会这样吗?functionSuperType(){}functionSubType(){}x=newSuperType();SubType.prototype=x;SubType.prototype.constructor=SubType;console.log(x.isPrototypeOf(SubTyp
我是JavaScript的初学者,正在学习JavaScript原型(prototype)。根据文章here创建原型(prototype)创建对象原型(prototype)的标准方法是使用对象构造函数:functionperson(first,last,age,eyecolor){this.firstName=first;this.lastName=last;this.age=age;this.eyeColor=eyecolor;}通过构造函数,您可以使用new关键字从同一原型(prototype)创建新对象:varmyFather=newperson("John","Doe",50,"
thispage状态:Note:isPrototypeOfdiffersfrominstanceofoperator.IntheexpressionobjectinstanceofAFunction,theobjectprototypechainischeckedagainstAFunction.prototype,notagainstAFunctionitself好吧,我真的不明白他们想告诉我们什么。是不是objectinstanceofAFunction和`AFunction.prototype.isPrototypeOf(object)完全一样?还是我错了?为什么我们需要isPr
假设我们有以下内容:functionSuper(){//initcode}functionSub(){Super.call(this);//otherinitcode}Sub.prototype=newSuper();varsub=newSub();然后,在我们的ocde的其他部分,我们可以使用以下任一方法来检查关系:subinstanceofSuper;或Super.prototype.isPrototypeOf(sub)无论哪种方式,我们都需要拥有对象(sub)和父构造函数(Super)。那么,有什么理由让您使用一个与另一个吗?有没有其他情况区分的更清楚?我已经仔细阅读了24644
假设我们有以下内容:functionSuper(){//initcode}functionSub(){Super.call(this);//otherinitcode}Sub.prototype=newSuper();varsub=newSub();然后,在我们的ocde的其他部分,我们可以使用以下任一方法来检查关系:subinstanceofSuper;或Super.prototype.isPrototypeOf(sub)无论哪种方式,我们都需要拥有对象(sub)和父构造函数(Super)。那么,有什么理由让您使用一个与另一个吗?有没有其他情况区分的更清楚?我已经仔细阅读了24644
在我自己的一些旧代码中,我使用以下内容:Object.prototype.instanceOf=function(iface){returniface.prototype.isPrototypeOf(this);};然后我做(例如)[].instanceOf(Array)这行得通,但似乎以下内容会做同样的事情:[]instanceofArray现在,这当然只是一个非常简单的例子。因此,我的问题是:ainstanceofb总是与b.prototype.isPrototypeOf(a)相同吗? 最佳答案 是的,他们做同样的事情,都遍历原
在我自己的一些旧代码中,我使用以下内容:Object.prototype.instanceOf=function(iface){returniface.prototype.isPrototypeOf(this);};然后我做(例如)[].instanceOf(Array)这行得通,但似乎以下内容会做同样的事情:[]instanceofArray现在,这当然只是一个非常简单的例子。因此,我的问题是:ainstanceofb总是与b.prototype.isPrototypeOf(a)相同吗? 最佳答案 是的,他们做同样的事情,都遍历原