2014-10-29 9 views
0

есть разница в этомотличие синтаксиса в JQuery документ, готовый

$(document).ready(myFunction);

и

$(document).ready(myFunction());?

+0

Если это помогает, то такая же разница, как между 'foo (bar)' и 'foo (bar())'. –

+2

Вы также можете использовать метод ярлыков '$ (function() {// code});' который эквивалентен '$ (document) .ready (function() {// code});' –

ответ

8

Большая разница - $(document).ready(myFunction()); вызовет функцию немедленно и использует возвращаемое значение как обработчик ready. $(document).ready(myFunction); будет использовать myFunction в качестве обработчика.

Некоторые уточнения:

$(document).ready(myFunction); является собственно способ сделать это. Это устанавливает функцию myFunction в качестве обработчика для события готовности - функции, которая будет выполняться при возникновении события.

В 99% случаев, $(document).ready(myFunction()); является неправильным способ сделать это. Здесь происходит то, что myFunction вызывается сразу, не, когда происходит событие готовности. Если myFunction() возвращает функцию , эта возвращаемая функция будет использоваться в качестве обработчика события. Однако это более продвинутое использование и требует знаний о закрытии и первоклассных функциях.

+0

Ok. Отлично, можете ли вы предоставить какой-либо ресурс о готовом обработчике. Это будет более полезно. Спасибо –

+0

@AbhisekMalakar Вы можете прочитать [jQuery-документацию для 'ready()'] (http://api.jquery.com/ready/). – Scimonster

+0

Я вижу, спасибо! –

Смежные вопросы