看了一段继承的代码
function MyClass(x) {
this.x = x;
}
var proObj = new MyClass('x');
InheritClass.prototype = proObj;
MyClass.prototype.protox = 'xxx';
function InheritClass(y) {
this.y = y;
}
var obj = new InheritClass('Hello class');
MyClass.prototype.protox = 'changed';
proObj.x = 'Changed Too';
alert(obj.protox);
alert(obj.x);我不理解的是alert(obj.x);这个弹出的是Changed Too,这是为什么呀?我认为应该是弹出一个未定义才对啊,毕竟x属性又不是MyClass.prototype这个中的属性值,我试了alert(MyClass.prototype.x);这个弹出的是unfined,为什么这里会弹出Changed Too呢?
function MyClass(x) {
this.x = x;
}
var proObj = new MyClass('x');
InheritClass.prototype = proObj;
MyClass.prototype.protox = 'xxx';
function InheritClass(y) {
this.y = y;
}
var obj = new InheritClass('Hello class');
MyClass.prototype.protox = 'changed';
proObj.x = 'Changed Too';
alert(obj.protox);
alert(obj.x);我不理解的是alert(obj.x);这个弹出的是Changed Too,这是为什么呀?我认为应该是弹出一个未定义才对啊,毕竟x属性又不是MyClass.prototype这个中的属性值,我试了alert(MyClass.prototype.x);这个弹出的是unfined,为什么这里会弹出Changed Too呢?
解决方案 »
- 求助,页面不整齐,如何用js调整
- 求助!jqGrid合并表头后 提交多次请求出现叠加情况
- 如何隐藏js源代码吗?
- js高手来 ,差生随机字符串
- 新手求教!!急!!关于MARQUEE,请问怎么让 MARQUEE文字不要间断?
- JS切换图片(急得想吃饭)
- document.getElementById(...)' 为空或不是对象
- 求解千年难题,Select控件下拉长度以及下拉弹出方向问题!
- 求助:关于javascript函数的一个问题
- 【求助】怎么像百度一样(如图),让一个div固定在顶端,其他div在滚动到顶端时,内容被这个div覆盖?
- 有没有这个类似C/S结构的功能?
- cell有什么方法可以使列内容居中?
var proObj = new MyClass('x');
//proObj 是MyClass的一个实例。InheritClass.prototype = proObj;
//InheritClass 继承了proObj这个实例,也就继承了MyClass的属性x。proObj.x = 'Changed Too';
//proObj的x改变为'Changed Too'
//因为InheritClass 是继承了proObj,所以InheritClass的x是来自proObjvar obj = new InheritClass('Hello class');
//obj 是InheritClass的实例,当然也就有属性x的值alert(obj.x);
//所以弹出的是Changed Too个人理解,不知道是否正确,等大侠来指点。