如果此方法尚未存在,我想将isBlack方法添加到Car。在页面的底部,我通过检查原型和Car对象本身来完成。我想知道是否有更好的方法来处理这个案子。我不喜欢仔细检查。
请注意,isBlack方法可能来自Car本身或通过原型。
function Vehicle(name){
this.name = name;
};
Vehicle.prototype.tyres = 4;
function Car(){}
Car.prototype = new Vehicle();
Car.prototype.constructor = Car;
if !(Car.isBlack || Car.prototype.isBlack){
Car.prototype.isBlack = 'false';
}
答案 0 :(得分:1)
只要您要使用完整的原型路线,因此您必须创建这些路径,以便可以安全地构建它们而不会产生副作用(您需要创建一个实例,以便将每个实例用作子原型的原型)你可以在这样的实例上测试它。
if (!(new Car()).isBlack) {
Car.prototype.isBlack = 'false';
}
答案 1 :(得分:0)
双重检查可能和它一样好。另一种方法是实例化Car
并在其中检查isBlack
,这非常浪费。