function pp(json){ this.x = (json.x!=null) ? json.x : '未知'; this.xx = (json.xx!=null) ? json.xx : this.x/2; } function zz(x){ this.x= x; } zz.prototype = new pp({});
-------------------------------------------然后
var zz= new zz(50); alert(zz.x+'---'+zz.xx);
alert显示的数据是50和0,怎样才能简便的实时更新继承pp的xx的值?我想要的是25
求大神解惑
。。不知道你是什么缘由想要更新 pp 的 x,xx ,他们虽然在 pp 函数中,但是通过 zz.prototype = new pp({}); 已经传递 zz 了,不信看图:
pp 中还是 啥都没有:
而通过 var z= new zz(50);(我手动帮你改成 z),这时候的 z:
所有当你访问 (z.x+'---'+z.xx) 的时候,返回 50 和 NaN,如果需要得到 xx = 25,有两种方法,第一种,改变 zz 函数:
这个时候 的 z :
第二种,用函数来实现,
调用:console.log(z.x+'---'+z.xx());
不知道你的动机是什么。