0
是否有可能爲未定義的屬性創建獲取/設置功能,
像在PHP __get()和__set()中一樣?獲取/設置爲所有可用的屬性(JS)
是否有可能爲未定義的屬性創建獲取/設置功能,
像在PHP __get()和__set()中一樣?獲取/設置爲所有可用的屬性(JS)
您可以使用數組訪問表示法來訪問JavaScript對象屬性值,也可以使用此表示法或常規賦值表示法隨時創建新的屬性。
var myObject = {};
myObject.Name = "Luis";
alert(myObject.Name);
alert(myObject["Name"]);
myObject["Name"] = "Dany";
alert(myObject.Name);
當您使用它
var cn = new ClassName('a');
cn.setter('b');
alert(cn.getter()); /* alerts value 'b' */
注意,這裏使用的構造函數調用模式你可以做
function ClassName(arg) {
var v = arg;
this.getter = function {
return v;
};
this.setter = function(val) {
v = val;
};
}
。按照慣例,你需要用大寫字母聲明函數/類名,以表明這個函數/類需要用'new'關鍵字聲明。 希望這有助於
另請注意,如果您訪問未定義的屬性,它只是返回'undefined'。 '(myObject [Math.random()] === undefined)===!(Math.random()in myObject)// true' – katspaugh 2012-01-01 16:57:42