Показать сообщение отдельно
  #6 (permalink)  
Старый 14.07.2015, 14:35
Аспирант
Отправить личное сообщение для jackdempsey2015 Посмотреть профиль Найти все сообщения от jackdempsey2015
 
Регистрация: 23.06.2015
Сообщений: 53

Сообщение от js-user
Но программированием занимаюсь с 1996
Сообщение от js-user
вообще не понял
это довольно странно, учитывая то, что это азы
Сообщение от js-user
красота, простота и эффективность кода
Это несочетаемые вещи. Например, Iо, Smalltalk, не могут быть в общем случае эффективными, в смысле перформанса, именно потому, что они фантастически красивы и выразительны. Тут что-то одно, либо вы пишете код за машину, либо она это делает за Вас. Стремиться надо найти баланс, который всегда есть компромисс.
Сообщение от js-user
Можно подробнее?
разница между
el=getElement("someQuery")
fu=function(){doStaffWith(el)}

и
fu=function(){
 var el=getElement("someQuery")
 doStaffWith(el)
}

во времени поиска. В первом коде при вызове getElement("someQuery"), парсится документ, через какое-то время находится элемент, он возвращается и присваивается переменной. С этого момента, переменная указывает на этот элемент, его искать больше не нужно. При вызове ф-ции fu, интерпретатор ищет переменную, сначала в локальном скопе, затем в глобале. В данном случае, он находит ее за два шага, очень быстро, и сразу получает ссылку на нужный элемент
Во втором варианте, при вызове функци каждый раз выполняется var el=getElement("someQuery"), то есть, кадый раз заново парситься документ, находится элемент, присваивается переменной, и лишь затем отрабатывает doStaff, который снова резольвит переменную. Это, в общем случае намного дороже.
Ответить с цитированием