jQuery中的$符號的由來

$是著名的jQuery符號。實際上,jQuery把所有功能全部封裝在一個全域變數jQuery中,而$也是一個合法的變數名,它是變數jQuery的別名:

  • window.jQuery ; // jQuery(selector, context)

  • window.$; // jQuery(selector, context)

  • ##$ === jQuery ; // true

  • typeof($); // 'function'


#$本質上就是一個函數,但函數也是對象,於是$除了可以直接呼叫外,還可以有很多其他屬性。

註:你看到的$函數名可能不是jQuery(selector, context),因為很多JavaScript壓縮工具可以對函數名和參數改名,所以壓縮過的jQuery源碼$函數可能變成a(b, c)。

絕大多數時候,我們都直接用$(因為寫起來比較簡單嘛)。但是,如果$這個變數不幸地被佔用了,而且還不能改,那我們就只能讓jQuery把$變數交出來,然後就只能使用jQuery這個變數:

  • $; // jQuery(selector, context)

  • jQuery.noConflict();

  • ##$; // undefined
  • jQuery; // jQuery(selector, context)
  • #這種黑魔法的原理是jQuery在佔用$之前,先在內部保存了原來的$,呼叫jQuery.noConflict()時會把原來儲存的變數還原
繼續學習
||
<!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title>php.cn</title> <script src="http://libs.baidu.com/jquery/1.10.2/jquery.min.js"> </script> <script> $(document).ready(function(){ $("#hide").click(function(){ $("p").hide(); }); $("#show").click(function(){ $("p").show(); }); }); </script> </head> <body> <p>欢迎大家来到php.cn</p> <button id="hide">隐藏</button> <button id="show">显示</button> </body> </html>