Javascript属性重载ala PHP?

时间:2010-10-12 12:28:37

标签: javascript overloading

我正在尝试找到一种方法来处理属性重载,就像在PHP中完成的那样:http://www.php.net/manual/en/language.oop5.overloading.php#language.oop5.overloading.members

var myobj = function () {}
myobj.prototype.getProperty = function (propertyName) { console.log('Property Requested: ', propertyName); }

var otherObj = function () {};

myobj.hello; // Property Request: hello
otherObj.hello; // undefined

这可能吗?

1 个答案:

答案 0 :(得分:0)

这种事情只能在所有浏览器(例如IE)都不支持的ECMAscript 5中完成。使用Object.defineProperty,您可以使用访问器函数创建属性 - 因此您可以在数组中实现类似length的属性,具体取决于对象状态。

Doug Crockford对这些功能进行了很好的介绍,并提供了更详细描述的链接here