Как добавить метод в прототип объекта как свойство
Вот например:
Object.prototype.length = function(){ var cnt = 0; for(var x in this){if(!this.hasOwnProperty(x)){continue;}cnt++;} return cnt; } И теперь: var len = {name:"vasa", age:5}.length(); // 2 А как бы сделать так, чтобы length можно было писать без скобок? Можно ли вообще? |
Hapson,
:write: var user = {name:"vasa", age:5} Object.defineProperty(Object.prototype, "length", { get: function () { var len = 0, a; for (a in this) this.hasOwnProperty(a) && len++; return len } }); alert(user.length); |
рони,
:dance: круто! Спасибо! |
:-E
Сдохни ишак!!!! Когда же это кончится? Ну так все хорошо, пока не откроешь для теста ишака... |
ишаки занимают менее 3% рынка, а 8 ишак еще меньше, давно уже ни кто не верстает для 8 и 9 ишаков. все уже давно кончилось. если заказчик хочет верстку под старые браузеры то он должен заплатить вдвойне или втройне. потому что для старых сайтов потребуется полное переписывание и переверстывание сайта.
|
Часовой пояс GMT +3, время: 02:12. |