javascript对象属性替换
怪我咯
怪我咯 2017-04-10 15:36:37
[JavaScript讨论组]
function obj(){
    this.a=0;
    this.b=1;
    this.c=2;
}
obj.prototype.go= function() {
    alert(this.a);
};
var a=new obj();
var obj2={
    a:1,
    b:2,
    c:3
}
a.go();

有什么方法可以把obj2内的a,b,c替换掉a里面的a,b,c

怪我咯
怪我咯

走同样的路,发现不同的人生

全部回复(4)
迷茫

谢谢各位了,找到了jquery的extend

阿神
obj.prototype.go= function(obj) {
    for(var i in obj){
         this[i]=obj[i];
    }
};
var a=new obj();
var obj2={
    a:1,
    b:2,
    c:3
}
a.go(obj2);

不过我觉得这样好像不是最好的方法

黄舟

其实没有看懂问题,估计题主是不是这个需求

obj.prototype.go.call(obj2)
ringa_lee

是介个意思吗?

    function obj(options){
        this.a= options.a || 0;
        this.b= options.b || 1;
        this.c= options.c || 2;
    }
    obj.prototype.go= function() {
        alert(this.a);
    };
    var obj2={
        a:1,
        b:2,
        c:3
    }
    var a=new obj(obj2);
    a.go();

对象a里面的属性在new的时候已经赋初值了,如果要改,要么在构造函数obj里面改,要么new完之后手动改

热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习
PHP中文网抖音号
发现有趣的

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号