Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 24.03.2014, 00:04
Аватар для Hapson
Кандидат Javascript-наук
Отправить личное сообщение для Hapson Посмотреть профиль Найти все сообщения от Hapson
 
Регистрация: 23.07.2013
Сообщений: 122

Как добавить метод в прототип объекта как свойство
Вот например:
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 можно было писать без скобок? Можно ли вообще?
Ответить с цитированием
  #2 (permalink)  
Старый 24.03.2014, 00:21
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,105

Hapson,

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);
Ответить с цитированием
  #3 (permalink)  
Старый 24.03.2014, 00:31
Аватар для Hapson
Кандидат Javascript-наук
Отправить личное сообщение для Hapson Посмотреть профиль Найти все сообщения от Hapson
 
Регистрация: 23.07.2013
Сообщений: 122

рони,
круто!
Спасибо!
Ответить с цитированием
  #4 (permalink)  
Старый 24.03.2014, 02:49
Аватар для Hapson
Кандидат Javascript-наук
Отправить личное сообщение для Hapson Посмотреть профиль Найти все сообщения от Hapson
 
Регистрация: 23.07.2013
Сообщений: 122


Сдохни ишак!!!! Когда же это кончится? Ну так все хорошо, пока не откроешь для теста ишака...
Ответить с цитированием
  #5 (permalink)  
Старый 24.03.2014, 12:05
Аспирант
Посмотреть профиль Найти все сообщения от Maxmaxmaximus12
 
Регистрация: 21.03.2014
Сообщений: 36

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



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Как сделать плагин jQuery в виде объекта? SkaN jQuery 12 28.06.2012 12:31
Свойства объекта, методы и this. Почему свойство вызывается с () ? jsuse Общие вопросы Javascript 2 04.11.2011 20:39
Объект не поддерживает это свойство или метод load_081112_0953.js 1auto1 Internet Explorer 1 13.04.2011 21:59
Можно ли получить имя экземпляра объекта внутри самого объекта? Ichigeki Общие вопросы Javascript 9 14.11.2008 19:00
Как добавить свой блог в раздел feeds этого сайта IzumeRoot Ваши сайты и скрипты 13 30.10.2008 21:11