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