jQuery—為什麼要有個$

初識jQuery時知道瞭一個“$”,隻要用這個就可以執行function來完成一些功能,當時很多人說隻要知道會用就可以瞭,今天無意之間又與"$"進行瞭一次邂逅

1、為什麼會有“$”

document.ready()這個大傢都不陌生,即當dom元素加載完畢之後開始執行函數,為瞭省事就是一個編碼和解碼的過程,至於為什麼非得是$這個符號呢,就不較勁瞭,看看他是在被編碼的吧,“jquery-3.1.1.js”這個文件大傢都不陌生,已經封裝好的js文件

 

if ( !noGlobal ) {
	window.jQuery = window.$ = jQuery;//李建敏到此一遊哈哈。寫幾個$符號就用多少個表示
}

return jQuery;
} );

真相就在這裡,將jQuery賦值給瞭這個window.$,如果寫瞭兩個$$,當然不要忘瞭將其他地方的也要替換成$$,效果如下:

 

 

 $(//為什麼?window.jQuery=window.$=jQuery   jQuery自執行函數初始化時,已經把jQuery賦值給
            function () {
                $("#content").val("我是兩個$$");
            }
            )

 

當然要是非換成其他符號行不行呢,哈啊哈

2、函數自執行

我們在一開始時都會引用這兩個文件,然後就可用$符號瞭,這與函數的自執行也是有關系的,打開jquery.js文件我們可以發現裡面都是一些方法函數,這個jquery賦值轉換就是通過這個自執行函數實現的,那什麼是自執行函數呢?就是自己個執行自己個,格式一般為:

function(){

……..

}

)();

這樣就無需聲明一個人變量來調用此函數瞭,隻要一運行就會自動執行,不過需要註意的是如果使用$符號就使用完整,如果不用就完全不用,不然不會被標識如:

 

(function abc() {
            $("#content").val("jalou");
        })();//這個是不能執行的,不識別$符號

原因是因為這個時候並沒有執行dom元素,在function前加一個$便可以瞭,這就標識瞭dom元素加載完畢之後開始執行abc函數

 

3.window.onload

這個和document.ready的區別就是window.onload是當dom元素和資源文件加載完畢之後才開始執行函數,所以比$是慢的

總結:

一個小小的$學問也是不小的,都有自己的格式讓我們按照格式來吧

發佈留言