Показать сообщение отдельно
  #43 (permalink)  
Старый 24.12.2013, 12:12
Аватар для kobezzza
Быдлокодер;)
Отправить личное сообщение для kobezzza Посмотреть профиль Найти все сообщения от kobezzza
 
Регистрация: 19.11.2010
Сообщений: 4,338

Сообщение от nerv_ Посмотреть сообщение
А ничего, что у тебя идет создание экземпляра (зачем?), а в коде выше просто гуляем по цепочке.
Создание простых массивов и объектов одно из самых оптимизированных мест в VM JS. С идеологической точки зрения - это конечно не верно, но это короче, понятнее и в случае написания такой конструкции в замыкании - быстрее, т.к. интерпретатор сразу видит, что создался инстанс и вызывается его метод, а с Array он будет плясать по родительским Scope, пока не дойдёт до глобальной области и не обнаружит его там. Теоретически возможен также баг, если переопределить Array, но так делают только идиоты и в таком случае - они сами виноваты

К тому же созданный инстанс после этой операции будет сразу же подобран сборщиком мусора, т.е. алгоритм такой же как и для 'foo'.length, где для получения свойства length создаётся объект обёртка, а затем сразу же удаляется после использования.
__________________
kobezzza
code monkey

Последний раз редактировалось kobezzza, 24.12.2013 в 12:17.
Ответить с цитированием