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
求大神解惑
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号
。。不知道你是什么缘由想要更新 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 函数:
function zz(x){ this.x= x; this.xx = this.x/2; }这个时候 的 z :
第二种,用函数来实现,
function pp(json){ this.x = (json.x!=null) ? json.x : '未知'; this.xx = function(){ return this.x/2; } }调用:console.log(z.x+'---'+z.xx());
不知道你的动机是什么。