Javascript-форум (https://javascript.ru/forum/)
-   Общие вопросы Javascript (https://javascript.ru/forum/misc/)
-   -   Как добавить метод в прототип объекта как свойство (https://javascript.ru/forum/misc/45993-kak-dobavit-metod-v-prototip-obekta-kak-svojjstvo.html)

Hapson 24.03.2014 00:04

Как добавить метод в прототип объекта как свойство
 
Вот например:
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 можно было писать без скобок? Можно ли вообще?

рони 24.03.2014 00:21

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);

Hapson 24.03.2014 00:31

рони,
:dance: круто!
Спасибо!

Hapson 24.03.2014 02:49

:-E
Сдохни ишак!!!! Когда же это кончится? Ну так все хорошо, пока не откроешь для теста ишака...

Maxmaxmaximus12 24.03.2014 12:05

ишаки занимают менее 3% рынка, а 8 ишак еще меньше, давно уже ни кто не верстает для 8 и 9 ишаков. все уже давно кончилось. если заказчик хочет верстку под старые браузеры то он должен заплатить вдвойне или втройне. потому что для старых сайтов потребуется полное переписывание и переверстывание сайта.


Часовой пояс GMT +3, время: 02:12.