我想做以下
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'
答案 0 :(得分:7)
for(var key in json) {
if(json.hasOwnProperty(key)) {
this[key] = json[key];
}
}
if
块是可选的,如果您确定没有任何内容可以扩展Object.prototype
(这无论如何都是坏事)。
答案 1 :(得分:1)
如果你想要默认值怎么样;
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
}