我在某处读到Object.__proto__
并Object.prototype
指向相同的东西,这Object.prototype
是标准方式,但昨晚我试图继承一个类,Object.prototype
但它没有用,然后我试图弄清楚是否两者都Object.__proto__
指向Object.prototype
同一个东西。出乎我的意料
alert(Object.__proto__===Object.prototype);
显示false
在警报框中所以要弄清楚哪个有效,我编写了以下代码
function Cx(){
this.objName="i m X";
this.prototype={ };
this.prototype.getMyName=function (){
alert(this.objName);
}
this.__proto__={ };
this.__proto__.hMyName=function(){
alert("I am hMyName");
}
}
function InheritCx(){
//var y=new Cx();
this.objName="I am InheritCx";
this.__proto__=new Cx();
}
y= new InheritCx();
y.hMyName();//displayes "I am hMyName" in alertbox when using chrome or mozilla
y.getMyName();//displays an error in chrome and mozilla
两者有什么区别,为什么标准代码不起作用?此外,我有兴趣知道如何使原型继承在大多数浏览器(IE 6-8、9、10、chrome、firefox、mozilla、opera 和 webkit)中工作?