微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

使用JSON初始化JavaScript对象

如何解决使用JSON初始化JavaScript对象

| 我想做以下
var my_json = {
    a : \'lemon\',b : 1
}

function obj(json){
    this.a = \'apple\';
    this.b = 0;
    this.c = \'other default\';
}
分配后
var instance = obj(my_json)
我想得到
instance.a == \'lemon\'
    

解决方法

for(var key in json) {
    if(json.hasOwnProperty(key)) {
        this[key] = json[key];
    }
}
如果您确定没有东西可以扩展ѭ5nothing,那么
if
块是可选的(无论如何这是一件坏事)。     ,如果您要使用默认值,该如何做?
function obj(json){
  var defaults = {
    a: \'apple\',b: 0,c: \'other default\'
  }

  for (var k in json)
    if (json.hasOwnProperty(k))
      defaults[k] = json[k];

  return defaults
}
    

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。