先給出jquery原始碼的第一句:(我們就分析這一句原始碼)
(function( window, undefined ) )(window);
這一段原始碼主要有3個問題需要解答:
1、(function(){})() 這是幹嘛?
第乙個括號包含的內容表示乙個函式表示式,最後乙個括號表示立即執行,並傳入引數,整體就是乙個「立即執行的匿名函式表示式」。
2、為什麼要將全域性window當作引數傳遞進去?
這一點跟變數的作用域有關,因為變數的搜尋是按照從裡向外搜尋,因此將全域性變數當成函式區域性變數可以加快變數的搜尋速度。
3、為什麼執行時不帶第二個引數:undefined?
在ie和一些其他的瀏覽器的低版本中,undefined是可以被重新賦值的,如:undefined = 9; 這樣會破壞掉jquery內部undefined的含義,因此這裡不傳遞第二個引數是使外部的undefined無法進入jquery內部,達到安全的目的。
總結:
看看大師級的**真能學到許多東西。
第乙個「回歸函式」原始碼
jupyter中匯入相應的包 import tensorflow as tf import numpy as np import matplotlib.pyplot as plt 生成隨機點 x data np.linspace 0.5,0.5,300 np.newaxis noise np.ran...
jQuery原始碼的乙個坑
大半夜也真是夠了,想學著jq造個小輪子鞏固下js,結果一開始就卡住了。雖然之前也看過原始碼,但是主要是研究方法實現什麼的,對於框架主函式和入口結構不怎麼熟悉,於是想著一步一步除錯看看。div 簡單吧,為了方便除錯看過程,直接呼叫選擇符,而且是乙個id,可以快速匹配呼叫原生方法。大概流程是這樣的。va...
JQuery基礎之 二 第乙個JQuery程式
1 min 壓縮後的jquery類庫,在正式環境上使用.如 jquery 1.3.2.min.js 2 vsdoc 在visual studio中需要引入此版本的jquery類庫才能啟用智慧型感知.如 jquery 1.3.2 vsdoc2.js 3 release包 裡面有沒有壓縮的jquery ...