亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

jquery (function(a){})(jQuery);

jquery (function(a){})(jQuery);

桃花長相依 2019-03-03 04:04:48
jquery (function(a){})(jQuery);
查看完整描述

2 回答

?
白衣染霜花

TA貢獻1796條經驗 獲得超10個贊

(function($){...})(jQuery)實際上是匿名函數,不懂得朋友可以繼續往下看。
這里實際上是匿名函數 function(arg){...} 這就定義了一個匿名函數,參數為arg 而調用函數時,是在函數后面寫上括號和實參的,由于操作符的優先級,函數本身也需要用括號,即: (function(arg){...})(param) 這就相當于定義了一個參數為arg的匿名函數,并且將param作為參數來調用這個匿名函數
而(function($){...})(jQuery)則是一樣的,之所以只在形參使用$,是為了不與其他庫沖突,所以實參用jQuery.
等同于 var fn = function($){....}; fn(jQuery);
(funtion(){})();立即執行函數;相當于先申明一個函數,聲明完后直接調用;
用于存放開發插件的代碼,執行其中代碼時DOM不一定存在,所以直接自動執行DOM操作的代碼請小心使用。

查看完整回答
反對 回復 2019-03-11
?
皈依舞

TA貢獻1851條經驗 獲得超3個贊

這是一個匿名函數被執行了,他的實參是jQuery對象。
相當于:
function test(a){}
test(jQuery);
上面這種寫法,一般是為了保護本地變量不被外部變量污染。寫自己的js庫的時候,不妨也這樣寫:
(function(w){
//這里面就可以寫的你js公共庫了
var my_func = function(){}

w.my_func = my_func;//要把函數引用賦給頂級對象window,不然外部調用不了了。

})(window);

查看完整回答
反對 回復 2019-03-11
  • 2 回答
  • 0 關注
  • 1116 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號