Javascript 为什么到原型的链接丢失了?
为什么一种模式有效而另一种模式无效?在第二个代码中,到原型的链接丢失了,是否有任何方法可以使用第二个模式建立到原型的链接?或者我做错了吗 这很有效Javascript 为什么到原型的链接丢失了?,javascript,Javascript,为什么一种模式有效而另一种模式无效?在第二个代码中,到原型的链接丢失了,是否有任何方法可以使用第二个模式建立到原型的链接?或者我做错了吗 这很有效 function Robot() { this.weapons=5; this.lives=5; } Robot.prototype.fireWeapon=function(){alert('weapons fired');}; var a=new Robot(); a.fireWeapon(); 这不管用 function R
function Robot() {
this.weapons=5;
this.lives=5;
}
Robot.prototype.fireWeapon=function(){alert('weapons fired');};
var a=new Robot();
a.fireWeapon();
这不管用
function Robot() {
var weapons=5;
var lives=10;
return {
weapons: weapons,
lives : lives
};
}
Robot.prototype.fireWeapon=function(){alert('weapons fired');};
var a=new Robot();
a.fireWeapon();
javascript类不应该返回任何东西 如果它是,那么它等于它返回的任何东西,它不是一个原型类
查看两个函数的日志:这是因为在第二个示例中,您没有
机器人,而是有一个对象
通过返回一个新的匿名对象,可以覆盖默认情况下分配给a
的表达式,即Robot
在每一行中尝试这一行,您将看到:
alert(a.constructor);
对于第一个,您将看到对象
,第二个,您将看到机器人
功能