@阿輝2,不寫ajQuery.prototype 是為了 對fn添加方法是可以被引用到ajQuery.prototype 中的,維護同一個原型空間。
2016-01-26
這里的話,如果結(jié)合下一講,就知道了,為了避免構(gòu)造自身,jquery為了不構(gòu)造自身,選擇構(gòu)造了自己的原型中的init的prototype,然后和fn一起引用到j(luò)query的原型中,這樣fn.init 的this就能訪問到j(luò)query的原型中的方法
2016-01-26
感覺這里面Var _jQuery = window.jQuery,
_$ = window.$;
//這部分少了Jquery構(gòu)造完成將&,jquery綁定在window全局的代碼,讓我看了好半天
window.$=window.jQuery=jQuery;
//這樣就能理解上面做的備份其實是備份其他框架的&的引用,在加載構(gòu)造jQuery完成后無條件得使用上面框架的$引用,做到不覆蓋
jQuery.noConflict = function( deep ) {
_$ = window.$;
//這部分少了Jquery構(gòu)造完成將&,jquery綁定在window全局的代碼,讓我看了好半天
window.$=window.jQuery=jQuery;
//這樣就能理解上面做的備份其實是備份其他框架的&的引用,在加載構(gòu)造jQuery完成后無條件得使用上面框架的$引用,做到不覆蓋
jQuery.noConflict = function( deep ) {
2016-01-26
你們簡直有點搞笑。memory = options.memory && data; 那是前幾節(jié)當中的緩存參數(shù),那是有optionCache的,這里只是把memory單獨拿出來講解,如果合并在一起就是option.memory。你們不要學糊涂了。
2016-01-23
我覺得在fire函數(shù)內(nèi)部可以對args進行判斷,如果沒有傳參數(shù),那么應(yīng)該不顯示undefined。
list.forEach(function(fn){
fn(args == void 0?" ":args);
});
list.forEach(function(fn){
fn(args == void 0?" ":args);
});
2016-01-23
最新回答 / 毛桃_我叫MT
沒必要吧,如果說接口設(shè)計本身就有問題,比如說你的訂閱者強制需求兩個參數(shù),但是發(fā)布只有一個參數(shù),出錯也是難免的。 所以這里的訂閱者對象一定是實現(xiàn)了相同接口的。
2016-01-23
最新回答 / weixin_慕粉8264621
$.data()方式綁定到j(luò)s對象上(a,b)。而? var a = $("#div") ,? b = $("#div")中a與b是不同的。所以即使同一dom對象的不同js對象添加相同屬性當然也是不同的
2016-01-21
最新回答 / 全爬樹
對象的constructor屬性儲存的是構(gòu)造函數(shù)的引用,show出來是調(diào)用toString()方法,自然是函數(shù)體的內(nèi)容
2016-01-16