已采納回答 / 艾倫Aaron
這是跟后面的靜態(tài)與實(shí)例設(shè)計(jì)有關(guān)系簡單的說 jQuery底層是擴(kuò)展的靜態(tài)方法,然后共享給實(shí)例調(diào)用開發(fā)者通過通過選擇器創(chuàng)建的jQuery對象,是實(shí)例對象,在原型上大部分的接口都是用來做一個過濾包裝的處理,真正的處理都是通過靜態(tài)方法實(shí)現(xiàn)的。
2014-12-24
已采納回答 / 艾倫Aaron
我們先看看$.noConflict()方法在加載jquery的時候做了一個動作?_$ = window.$; ?保存了當(dāng)前的$的引用為_$, 因?yàn)榇藭r可能上一個script腳本可能存在$的命名空間。所以在當(dāng)前加載的時候就保存起來了我們調(diào)用的時候就干了一件事把當(dāng)前的jquery的命名空間$ 替換成_$,達(dá)到了交換的目的,可能話沒有表述清楚
2014-12-24
最贊回答 / MrzHuo
var F = function (e) {? ? "use strict"; ?//這行是定義此函數(shù)使用的是js嚴(yán)格模式? ??? ? ... ?//中間代碼應(yīng)該是對e進(jìn)行擴(kuò)展, 類似 e.newFunction = function () {};? ? return e; ? //返回已經(jīng)拓展好的e對象}(F || {}); ?//函數(shù)自執(zhí)行, F || {}是短路使用, 如果F存在 e == F, 如果不存在 e == {}/*?這樣的主要目的就是擴(kuò)展F這個對象, 如果已經(jīng)存在F對象了, 就對F對象...
2014-12-14
已采納回答 / 艾倫Aaron
?? ???? //通過閉包隔離出$?? ??? ?;(function($) {?? ??? ??? ?if ($) {?? ??? ??? ??? ?show("通過閉包隔離后,轉(zhuǎn)為局部變量$存在")?? ??? ??? ?}?? ??? ?})(jQuery);因?yàn)橥獠康?被入侵了, 如果想在局部使用$,可以采用這種方式
2014-12-14
最新回答 / MrzHuo
不可以, for循環(huán)必須要有2個; 中間的條件倒是可以看情況不寫for(;;) {? ? console.log("1"); ?//死循環(huán)}
2014-11-25
最贊回答 / 艾倫Aaron
首先做框架要考慮兼容與性能問題for in
語句對數(shù)組對象進(jìn)行遍歷潛在的bug在于:如果原生Array類被其他的js腳本庫進(jìn)行了原型擴(kuò)展(比如多加一個toJSON方法即Array.prototype.toJSON=xxxx),那么用for
in遍歷擴(kuò)展后的Array對象的邏輯將與遍歷原生Array對象的邏輯發(fā)生差異。
2014-11-22