Свойства Javascript Перегрузка аля PHP? - PullRequest
0 голосов
/ 12 октября 2010

Я пытаюсь найти способ перегрузки свойств, как это делается в 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 голосов
/ 12 октября 2010

Такого рода вещи могут быть выполнены только в ECMAscript 5, который поддерживается не во всех браузерах (например, IE). Используя Object.defineProperty, вы можете создавать свойства с помощью функций доступа - чтобы вы могли реализовать свойство, такое как length, в массивах, которые различаются в зависимости от состояния объекта.

Есть хорошая презентация Дуга Крокфорда об этих функциях и со ссылками на более подробные описания здесь .

...