jQuery(function(){...})与(function($){...})(jQuery)的“兄弟”情结
記得那時在學習寫基于jQuery的插件時,了解到(function($){...})(jQuery)的代碼結構,一開始還沒發覺,后來百度了解它的語意時,從搜索結果中發現了jQuery(function(){...}),當時就懵逼了(只知道$(function(){}) 23333)。后面通過別人的回答和博客逐漸了解清楚了,今天突然又看到了這個,概念又有些模糊了,恰有時間自己也來總結一下。
本文有些標題黨了,其實這兩個小東西并不能算兄弟,只不過是長的有些像而已。
1、jQuery(function(){...}):
用過jQuery的人應該都熟悉它真正的兄弟$(function(){...})【完整版:jQuery(document).ready(function(){...})】,表示在DOM(文檔對象模型)加載好之后對DOM節點進行相應的操作。
?
2、(function($){...})(jQuery):
這其實是定義一個匿名函數function($){...},然后立即傳入實參jQuery執行該函數。由于操作符的優先級,所以給匿名函數加上括號,之所以只在形參處使用$,而實參處使用jQuery,是為了避免與其他庫中的$沖突。
為了便于理解,可以將上述語句拆分一下:
1 var fn = function($){ 2 //code 3 .... 4 }; 5 fn(jQuery);//調用函數fn注意,拆分只是為了方便理解,不是真的存在fn函數。在使用時為了方便和簡化代碼,將之壓縮為(function($){...})(jQuery),它的作用可以理解為預定義一些函數(方法),在寫基于jQuery的插件時,經常會用到。
轉載于:https://www.cnblogs.com/youziclub/p/4644862.html
總結
以上是生活随笔為你收集整理的jQuery(function(){...})与(function($){...})(jQuery)的“兄弟”情结的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: iOS之NSAttributedStri
- 下一篇: ubuntu 下使用mysql