2012-04-16 2 views
1

Я просматривал исходный код Zepto и есть эта маленькая функция здесь: gitHub - Zepto.js

ready: function(callback){ 
     if (readyRE.test(document.readyState)) callback($) 
     else document.addEventListener('DOMContentLoaded', function(){ callback($) }, false) 
     return this 
    } 

Я не понимаю, почему $ передается в качестве аргумента в функцию обратного вызова ??

ответ

3

Это так, что есть удобная локальная ссылка на библиотеку, которую можно назвать тем, что вы хотите. Так, например, JQuery (который делает то же самое) не может быть названо $, но вы можете назвать это, что без дополнительной функции, выполнив:

jQuery(document).ready(function($) { 
    // Your jQuery code here, which uses $ as an alias for jQuery 
}); 
+0

Думаю, я до сих пор не понимаю. Вы имеете в виду, что вы передаете jQuery или Zepto для обратного вызова, чтобы я мог использовать фреймворк? – JackNova

+0

@JackNova: Yup - но вы можете назвать это тем, что хотите, это точка. – Ryan

+0

, но если я вызвал $ .fn.ready(), это значит, что у меня есть ссылка на $, поэтому почему вам нужно снова передать ссылку на обратный вызов? – JackNova

0

Если вы посмотрите на дне repository on gitHub, вы увидите:

// If `$` is not yet defined, point it to `Zepto` 
window.Zepto = Zepto 
'$' in window || (window.$ = Zepto) 

Это в основном дает вам сокращенную для зепто.

+0

За документации: http://zeptojs.com/# $() –