获取/设置所有可用属性(JS)

时间:2012-01-01 06:23:31

标签: javascript oop

是否可以为未定义的属性创建get / set函数,
比如PHP __get()和__set()?

2 个答案:

答案 0 :(得分:2)

您可以使用数组访问表示法访问JavaScript对象属性值,也可以使用此表示法或常规赋值表示法随时创建新属性。

var myObject = {};
myObject.Name = "Luis";
alert(myObject.Name);
alert(myObject["Name"]);
myObject["Name"] = "Dany";
alert(myObject.Name);

答案 1 :(得分:1)

你可以做到

function ClassName(arg) {
    var v = arg;
    this.getter = function {
         return v;
    };
    this.setter = function(val) {
         v = val;
    };
}

当你使用它时

var cn = new ClassName('a');
cn.setter('b');
alert(cn.getter()); /* alerts value 'b' */ 

请注意,这使用了构造函数调用模式。按照惯例,您需要使用大写字母声明函数/类名,以指示此函数/类需要使用'new'关键字声明。 希望这有帮助