工作我看了一些關於JavaScript中的書,它是使用OOP構建Web應用程序一個非常強大的語言,但現在我有,我不知道這是否是一個問題可以解決:與Object.defineProperty和「GET」功能
var myObj = {};
myObj.properties = {};
myObj.properties.myProperty = 'foo';
讓我解釋一下,現在我有myObj
..設置好的內properties
對象......現在,如果我問 爲myObj.properties.myProperty
我會得到foo
。但是如果我要求myObj.properties.notSettedValue
? (即undefined
)
我在MDN上看到了關於Object.defineProperty
的文章,可以在屬性上設置setter和getter。
我試圖設置myObj.properties
Object.defineProperty(myObj, 'properties', {
get : function(){
console.log("called custom get property.", this, arguments);
}
});
的"get"
價值......但無關,宣稱只爲自己myObj.properties
工作get
功能。自定義功能僅在我請求myObj.properties
時纔會調用。不是爲了孩子。
有一種解決方案將請求的myObj.properties.notSettedValue
傳遞給函數myObj.properties
?
(不使用的功能或類似myObj.properties.getItem('notSettedValue')
的方法)
我懷疑這....雖然有一些JavaScript的「神奇」功能,並非所有的可能現在..十多年來從ES3傳遞到ES5 ......多少次,我們將等待ES6 ? ... – Salcos
@Salcos:不久,我很高興地說。有關人員一起行動起來。你可以看一下(http://wiki.ecmascript.org/doku.php?id=harmony:specification_drafts)最新的[爲ES6這裏規範草案。我認爲它不會在2014年完成,但我懷疑它會在2015年,所以這是自5.0和5.1以來的四年後的大約六年。但是與ES5相比,ES6有了很大的變化。 –