用于更改object.object属性的函数

时间:2013-11-28 16:14:09

标签: javascript

我正在尝试使用这里的一些对象,并希望有一个简单的读/写功能。

我的对象将包含更多对象,因此问题在于访问子对象属性。我可以读得很简单,但是当我尝试更改属性值时,我只更改函数varible target,因此它不再指向对象。

var OBJ = {
    name:"",
    obj2:
    {
        name:"Test",
        something:"text"
    }
};

function readFromObject(target){
    console.log(target);
}

function writeToObject(target,val){
    target = val;
    // More code
}
readFromObject(OBJ.obj2.name);
writeToObject(OBJ.obj2.name,"newVal");
readFromObject(OBJ.obj2.name);

希望有人得到我想做的事。

1 个答案:

答案 0 :(得分:2)

看起来你只想制作一个通用的setter和一个通用的getter。

你可以这样做:

function readFromObject(obj, property) {
    console.log(obj[property]);
}

function writeToObject(obj, property, value) {
    obj[property] = value;
    // More code
}

readFromObject(OBJ.obj2, 'name');
writeToObject(OBJ.obj2, 'name', 'newVal');
readFromObject(OBJ.obj2, 'name');