Z>Размышляя о "простоте, изящности и т.д." jQuery хочу задать вопрос знатокам этого фреймворка. Во многих туториалах приводятся самые простейшие примеры, дескать, вот как легко и непринуждённо можно повесить клик на ссылку и т.п. Возьмём ещё более примитивный пример — нужно при загрузке просто показать идиотский алерт: "Превед вам, медведы, от jQuery!". Внимание, очень конкретный вопрос — сколько всего вызовов (всяких разных функций) будет сделано в ходе работы фреймворка, чтобы показать этот алерт?
Я немножко изменил условия. дело в том, что функция, вызывающая alert(), ждет, пока пользователь не кликнет OK, что сбивает с толку профайлер. То есть, профайлер показывает, что функция очень долго выполняется.
Поэтому
http://dmitriid.com/files/rsdn/jquery/preved.html
Специально взята нескомпрессированная версия jQuery 1.1.2 (ага, старенькая)
<html>
<head>
<script language="Javascript" type="text/javascript" src="/js/jquery-latest.js"></script>
<script>
$(document).ready(
function() {
$(document.body).append('preved');
}
);
</script>
</head>
<body>
</body>
</html>
Профайлер показывает: Profile (6.489ms, 98 calls)
Гигантское время, 6.489
миллисекунды. Это
в 52 раза меньше, чем загрузка собственно страницы (и это при том, что 338ms занимала загрузка уже закешированного файла jquery-latest.js и 11ms — собственно html)
Количество вызовов внутри jQuery — это далеко не самая главная проблема в библиотеке