Jquery源碼中的Javascript基礎知識(一)


jquery源碼中涉及了大量原生js中的知識和概念,文章是我在學習兩者的過程中進行的整理和總結,有不對的地方歡迎大家指正。


本文使用的jq版本為2.0.3,附上壓縮和未壓縮版本地址:

http://ajax.aspnetcdn.com/ajax/jQuery/jquery-2.0.3.js

http://ajax.aspnetcdn.com/ajax/jQuery/jquery-2.0.3.min.js


查看源碼可以發現整體結構是這樣:

(function( window, undefined ) {     // code
})( window );

 

要理解這種寫法,需要了解js中定義函數有兩種方式:

1.函數聲明

function functionName(){     // code
}

2.函數表達式

var functionName = function(){     // code
}

這種方式定義的函數也叫匿名函數(沒有函數名),可以看作是將一個函數表達式賦值給一個變量。


定義好函數后調用它:

functionName();

 

到這里我們對照源碼可以發現,functionName被其對應的值(表達式)替換后,即為:

(function(){})();     //不加括號會報錯

這句代碼的意思就是定義了一個匿名函數並立即執行了它。


再看一個例子幫助理解,在給函數傳參的時候

var num = 1; functionName(num); functionName(1);

參數可以傳變量或者直接傳值(表達式),同理,函數名也可以被替換為其對應的值(函數表達式)。

 

好了,第一篇就寫到這里,有空再繼續往下總結。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM