麻豆小视频在线观看_中文黄色一级片_久久久成人精品_成片免费观看视频大全_午夜精品久久久久久久99热浪潮_成人一区二区三区四区

首頁 > 語言 > JavaScript > 正文

jQuery中(function($){})(jQuery)詳解

2024-05-06 16:23:11
字體:
來源:轉載
供稿:網友

本文通過具體示例向大家詳細介紹了jQuery中的(function($){})(jQuery)的用法和意義,對此有相同困惑的小伙伴可以參考下本文。

簡單的說

 

 
  1. (function($){ 
  2. //code 
  3. })(jQuery) 

聲明了一個匿名函數,也就是將jQuery對象作為參數傳給函數

給大家舉個例子

 

 
  1. // 全局 
  2. var str = "全局字符串..."
  3. (function () { // 第1層 
  4. (function () { // 第2層 
  5. (function () { // 第3層 
  6. (function () { // 第4層 層數越多,訪問全局越慢 
  7. console.time('全局'); 
  8. for (var i=0; i<1e6; i++) { 
  9. str += Math.random().toString().substr(2, 2); 
  10. console.timeEnd('全局'); 
  11. })(); 
  12. })(); 
  13. })(); 
  14. })(); 
  15.  
  16. // 局部 
  17. (function () { // 第1層 
  18. (function () { // 第2層 
  19. (function () { // 第3層 
  20. (function () { // 第4層 
  21. var str = "內部字符串..."
  22. var random = Math.random; 
  23. console.time('內部'); 
  24. for (var i=0; i<1e6; i++) { 
  25. str += random().toString().substr(2, 2); 
  26. console.timeEnd('內部'); 
  27. })(); 
  28. })() 
  29. })(); 
  30. })(); 

運行代碼 就可以看到效果了,比較慢,騷等片刻。

我剛剛測試發現一些內存小的電腦容易直接導致瀏覽器崩潰、

chrome武裝到牙齒了,連字符串都緩存,看不出多大效果、

和速度應該沒關系,我是這么認為的。

 

  
  1. (function($){ 
  2. // code 
  3. })(jQuery) 

jQuery插件眾多,你無法確定自己使用的變量或者方法名不于其他插件重名,所以需要將所有插件代碼封裝到一個匿名函數當中;

由于插件使用了jQuery所以需要導入jQuery到匿名函數中,同時使用$變量引用(因為大家已經習慣了使用$)。當然你在全局下也可以使用$,但是無法完成第一個條件;

封裝的代碼必須執行,所以要執行匿名函數同時傳入jQuery參數。

總結

其實是為了保護$符號,不管外界是否引入了另外有干擾$的庫,都不會干擾匿名函數中$就是jQuery的事實,因為他是作為參數被傳進去的。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表

圖片精選

主站蜘蛛池模板: 性生活视频软件 | 快播av在线 | 中文字幕在线观看视频www | 国产精品自拍片 | 无码专区aaaaaa免费视频 | 国产青草视频在线观看 | 毛片毛片免费看 | 久草在线手机观看 | 91久久精品一二三区 | 手机国产乱子伦精品视频 | 久久久www成人免费精品 | 日本在线免费观看视频 | 干色视频 | 一区二区三区手机在线观看 | 成人在线视频黄色 | 国产精品免费视频观看 | 国产成人精品视频在线 | 精品日韩欧美 | 美女黄网站免费观看 | 久久久综合 | 日本一级黄色大片 | 国产精品一区二区手机在线观看 | av在线免费网 | 播色网 | 香蕉成人在线观看 | 亚洲性综合网 | 福利在线国产 | av电影在线免费 | 久久久久久久91 | 国产精品久久久在线观看 | 成人午夜激情视频 | 久久色网站| 国产羞羞视频 | 久久午夜神器 | 久久精品操 | 国产91中文字幕 | 久久久久久久久久美女 | 成人羞羞网站入口 | 欧美日韩免费一区二区三区 | 日本精品免费观看 | 亚洲一区在线国产 |