Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #21 (permalink)  
Старый 10.02.2010, 19:34
Отправить личное сообщение для Octane Посмотреть профиль Найти все сообщения от Octane  
Регистрация: 10.07.2008
Сообщений: 3,873

Кстати о практическом применении #12. Недавно спрашивали, почему здесь ничего не работает:

<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript">
jQuery.noConflict();
function $() {}
$(); // $ is not a function
</script>

Без понимания того, что функция $ будет создана раньше, чем выполнится jQuery.noConflict, найти ошибку было бы сложно.
Ответить с цитированием
  #22 (permalink)  
Старый 10.02.2010, 19:38
Аватар для PeaceCoder
Профессор
Отправить личное сообщение для PeaceCoder Посмотреть профиль Найти все сообщения от PeaceCoder
 
Регистрация: 15.12.2009
Сообщений: 742

Сообщение от Octane
ез понимания того, что функция $ будет создана раньше,
А это уже кстати ерунда. компилятор никогда не должен забегать на перед и создавать функции раньше их использования, в этом беда JS. Как сказал гозар у меня написано в подписи. А то что делает ECMA - пытается добавить интеллектуальности компилятору - его и губит.
__________________
Настоящий программист думает и осознает сам решение задачи, а не копирует другие мысли, не осознавая их (c)
Относись к человеку так же, как хотелось бы отношения к себе (с)
Все нужно там, где оно нужно, а все не нужно нигде (с) Gozar
B~Vladi: А кто такой JavaScript стрелок?! micscr: это тот, кто не jQuery танкист.
Программы становятся медленнее быстрее, чем компьютеры становятся быстрее (с) Никлаус Вирт

Последний раз редактировалось PeaceCoder, 10.02.2010 в 19:40.
Ответить с цитированием
  #23 (permalink)  
Старый 10.02.2010, 19:41
Новичок на форуме
Отправить личное сообщение для Kolyaj Посмотреть профиль Найти все сообщения от Kolyaj
 
Регистрация: 19.02.2008
Сообщений: 9,177

Сообщение от PeaceCoder
компилятор никогда не должен забегать на перед и создавать функции раньше их использования, в этом беда JS.
Чушь.
Ответить с цитированием
  #24 (permalink)  
Старый 10.02.2010, 19:44
Аватар для PeaceCoder
Профессор
Отправить личное сообщение для PeaceCoder Посмотреть профиль Найти все сообщения от PeaceCoder
 
Регистрация: 15.12.2009
Сообщений: 742

Сообщение от Kolyaj
Чушь.
Это не чушь, а сотни набитых шишек на голове опытных программистов. Попробуйте в С++ создать функцию позже ее ипользования...
Изза этого кстати, eval и медленный, т.к. компилятор сначала пытается найти такие вот функции, а потом все остальное.
__________________
Настоящий программист думает и осознает сам решение задачи, а не копирует другие мысли, не осознавая их (c)
Относись к человеку так же, как хотелось бы отношения к себе (с)
Все нужно там, где оно нужно, а все не нужно нигде (с) Gozar
B~Vladi: А кто такой JavaScript стрелок?! micscr: это тот, кто не jQuery танкист.
Программы становятся медленнее быстрее, чем компьютеры становятся быстрее (с) Никлаус Вирт
Ответить с цитированием
  #25 (permalink)  
Старый 10.02.2010, 20:27
Новичок на форуме
Отправить личное сообщение для Kolyaj Посмотреть профиль Найти все сообщения от Kolyaj
 
Регистрация: 19.02.2008
Сообщений: 9,177

Сообщение от PeaceCoder
Попробуйте в С++ создать функцию позже ее ипользования...
Функции в C++ создаются на этапе компиляции, так что в любом случае до использования, не зависимо от места объявления.

Сообщение от PeaceCoder
компилятор сначала пытается найти такие вот функции, а потом все остальное.
Он в любом случае парсит весь скрипт сначала, eval тут не причем.
Ответить с цитированием
  #26 (permalink)  
Старый 10.02.2010, 21:07
Аватар для B@rmaley.e><e
⊞ Развернуть
Отправить личное сообщение для B@rmaley.e><e Посмотреть профиль Найти все сообщения от B@rmaley.e><e
 
Регистрация: 11.01.2010
Сообщений: 1,810

Сообщение от PeaceCoder
Попробуйте в С++ создать функцию позже ее ипользования...
Да не вопрос, только прототип объявить.
Ответить с цитированием
  #27 (permalink)  
Старый 10.02.2010, 21:24
Аватар для PeaceCoder
Профессор
Отправить личное сообщение для PeaceCoder Посмотреть профиль Найти все сообщения от PeaceCoder
 
Регистрация: 15.12.2009
Сообщений: 742

Сообщение от B@rmaley.e><e
Да не вопрос, только прототип объявить.
Правильно. Это и есть обьявление функции, только без тела. тело подкрепляется потом. В обьявлении прототипа главное то, что нам уже есть куда ссылаться при компилации ее использования.
__________________
Настоящий программист думает и осознает сам решение задачи, а не копирует другие мысли, не осознавая их (c)
Относись к человеку так же, как хотелось бы отношения к себе (с)
Все нужно там, где оно нужно, а все не нужно нигде (с) Gozar
B~Vladi: А кто такой JavaScript стрелок?! micscr: это тот, кто не jQuery танкист.
Программы становятся медленнее быстрее, чем компьютеры становятся быстрее (с) Никлаус Вирт
Ответить с цитированием
  #28 (permalink)  
Старый 10.02.2010, 22:38
Аватар для x-yuri
Отправить личное сообщение для x-yuri Посмотреть профиль Найти все сообщения от x-yuri
 
Регистрация: 27.12.2008
Сообщений: 4,201

Сообщение от Octane
Кстати о практическом применении #12. Недавно спрашивали, почему здесь ничего не работает:
нет, он фактически проверяет, знаешь ли ты, можно ли "переопределить" функцию

Сообщение от Kolyaj
Он в любом случае парсит весь скрипт сначала, eval тут не причем.
ну я, думаю, объявление функций перед использованием ускоряет компиляцию. Это и было причиной такого правила. Вопрос в том, насколько далеко в прошлое PeaceCoder хочет вернуться
Ответить с цитированием
  #29 (permalink)  
Старый 10.02.2010, 23:52
Новичок на форуме
Отправить личное сообщение для Kolyaj Посмотреть профиль Найти все сообщения от Kolyaj
 
Регистрация: 19.02.2008
Сообщений: 9,177

Сообщение от x-yuri
ну я, думаю, объявление функций перед использованием ускоряет компиляцию.
Каким образом? Как парсился весь скрипт до выполнения, так и парсится.
Ответить с цитированием
  #30 (permalink)  
Старый 14.02.2010, 16:38
Профессор
Отправить личное сообщение для Dmitry A. Soshnikov Посмотреть профиль Найти все сообщения от Dmitry A. Soshnikov
 
Регистрация: 25.02.2008
Сообщений: 707

Тест - просто спортивное состязание для себя, больше, конечно теоретический, но и на практике многое пригодится.

Здесь ещё дополнительные вопросы пишут: http://groups.google.ru/group/comp.l...170b5696?hl=en
__________________
Тонкости ECMAScript
Ответить с цитированием
Ответ


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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Помогите с javascript andruhin Общие вопросы Javascript 12 04.05.2012 10:05
Собрался силами, собираюсь освоить Javascript walker Общие вопросы Javascript 14 20.03.2012 16:17
JavaScript на Яндекс.Фотки - почему тормозит браузеры? ZavFirefox Javascript под браузер 23 27.09.2009 19:24
Программист на JavaScript (удалённо) Vadym Работа 1 28.01.2009 13:57
Нужен Старший разработчик JavaScript Yandex Работа 17 19.08.2008 16:43