Это создание анонимной функции, а затем передача самой функции в качестве аргумента use
. Затем метод use
вызовет вашу анонимную функцию со значением, которое в вашей функции будет называться Y
, которое содержит модули, которые вы запрашивали в предыдущих аргументах для use
.
Это по существу эквивалентно следующему, который передает myFunction
в качестве обратного вызова к YUI().use
, за исключением того, что анонимная функция не имеет имени:
function myFunction(Y) {
Y.Node.get('#demo');
}
YUI().use('node', myFunction);
Этот шаблон используется, потому что в JavaScript нет явного представления о пространствах имен или модулях. Однако их можно эмулировать, используя область действия функции как своего рода пространство имен. В этом случае YUI().use
создаст объект, который обладает всеми функциями, которые вы запрашиваете, и передаст этот объект в предоставляемую вами функцию, поэтому вы можете использовать этот объект Y
для вызова импортированных вами методов.
Для хорошего онлайн-справочника по синтаксису и методам JavaScript я хотел бы использовать документацию Mozilla Developer Center . В частности, у них есть хорошие ссылки на JavaScript и DOM . Поскольку это часть проекта Mozilla, они сосредоточены на методах и синтаксисе, поддерживаемых Gecko (движком рендеринга Firefox), но обычно они содержат примечания по совместимости, в которых упоминается, что является переносимым, а что специфичным для Gecko.
На ваш вопрос я бы рекомендовал прочитать документацию MDC по функциям и области действия . К сожалению, MDC обычно не занимает первое место в поиске Google; вместо этого вы получаете W3Schools, который имеет низкое качество и имеет больше рекламы. Я считаю полезным всегда ставить перед поиском что-нибудь о JavaScript или DOM с помощью mdc, чтобы получить документацию по MDC; так, например, чтобы найти эту ссылку, я искал функцию mdc и нашел то, что мне нужно.