window是瀏覽器端的全部數據變量的引用。比如 window.window === window
window.jQuery 就是瀏覽器中的全局變量里的jQuery
那為什么不寫 jQuery 而是寫 window.jQuery呢?
你可以試試,直接jQuery然后回車,會報一個錯誤。而window.jQuery只是返回undefined而已。
接下來是||運算符,這是“或”運算
比如 c = a || b
當且僅當 a和b同時為“假值”時,c才為false。
那么當a時“真值”時,js引擎會偷懶,不運算b的值,反正c都是true嘛。
那么window.jQuery || document....
的結果就是,如果window.jQuery為“假值”,才會運行document...。
如果window.jQuery是“真值”,不運行后面的語句。
而undefined是一個假值。
總而言之,這句話的效果是window.jQuery如果沒有賦值或者是假值,調用后面那句話。
而后面那句話是用來加載一個本地的jquery腳本的。
正常引入了jquery的話,會有一個全局變量jQuery,也就是window.jQuery是真值。
簡單的理解為 : 這段代碼的意思 因為這個網站是用jquery開發的。 也就是對 jquery的依賴。沒有引用jquery庫就會報錯。為了防止這樣的事情發生。所以這樣寫。首先判斷有沒有window.jQuery,如果沒有(也就是false)。就執行后面的document.write('<script src="js/vendor/jquery-1.10.2.min.js"></script>')。如果存在window.jQuery(也就是true) 就什么都不做。