工作我看了一些关于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有了很大的变化。 –