#javascript #jquery
#javascript #jquery
Вопрос:
В чем разница между этими структурами кода jQuery, или разницы нет. Являются ли они псевдонимами для $(document).ready(function(){
и если да, то почему доллар в первом фрагменте кода?
jQuery(function($){
// stuff
});
И
$(function() {
// stuff
});
Ответ №1:
$
Параметр в первом блоке в этом контексте не нужен.
Где вы могли бы увидеть это в блоке, подобном этому:
(function ($) {
// stuff
})(jQuery);
В этом контексте это позволило бы вам всегда использовать $
псевдоним, даже если существует конфликтующая библиотека.
Игнорируя это, разницы нет. $
это просто псевдоним для jQuery
.
Оба являются ярлыками для $(document).ready(function(){
Комментарии:
1. «Параметр $ в первом блоке не нужен в этом контексте». Нужен ли он когда-либо, или вы всегда можете его пропустить? Я просто спрашиваю, потому что я где-то это видел, и я никогда не видел это так, обычно это просто jQuery(function(){
Ответ №2:
Что сказал BNL и да, они оба являются псевдонимом для $(document) .готово(функция (){
вы также можете написать jQuery (document).готово(функция(){ 🙂
Ответ №3:
если вы используете только jQuery, то оба $
и jQuery
одинаковы, но если вы используете другую библиотеку javascript, которая используется $
в качестве ярлыка, они не будут одинаковыми. Но если это просто jQuery, то это так же, как вы и @BNL написали его, это то же самое.
Ответ №4:
Первый обрезанный код служит для предотвращения конфликтов с другими библиотеками JS, которые могут использовать этот $
символ. Обертывание кода jQuery таким образом позволяет использовать $
inside, не беспокоясь о конфликтах. Это хорошая практика, например, если вы пишете плагин jQuery для защиты от конфликтов таким образом. В противном случае, обычно jQuery
является синонимом $
.
Также посмотрите здесь дополнительную информацию о том, как избежать конфликтов с другими библиотеками: http://api.jquery.com/jQuery.noConflict /