整個構建構成分成兩個部分,第一次直接執行 aQuery函數,this指向執行環境,也即window,但是window明顯不是 aQuery的實例,因而進入下一步,即返回 new aQuery對象,在new aQuery(selector)的構建中,this指向一個空對象,這個空對象的原型是aQuery.prototype(js基礎知識,不多解釋)。后面的事情就是為這個空對象添加屬性。構建一個aQuery實例
2016-07-31
跟多個函數放到一個函數中一次執行有什么不同,不明白?
--------------------------------------------
本來就是這個意思-不過這是等到需要的時候再執行吧
--------------------------------------------
本來就是這個意思-不過這是等到需要的時候再執行吧
2016-07-23
$("#test1").click(function(){
//直接處理
var foo = $('ul.first').find('.foo');
foo.css('background-color', 'red')
foo.addBack().find('.bar').css('background-color', 'green');
})
//直接處理
var foo = $('ul.first').find('.foo');
foo.css('background-color', 'red')
foo.addBack().find('.bar').css('background-color', 'green');
})
2016-07-22
應該改為 //調用的上下文對象 jQuery//或者jQuery原型 而不是實例 當然可以理解為實例的原型 反正用jQuery得先實例化出來一個對象
2016-07-22
我想說 看不懂的 先去看看jQuery里extend函數怎么又。。。。 然后自己倒著想就能明白了 誰調用了這個函數 函數中this就指代誰!
2016-07-22
// HANDLE: $(""), $(null), $(undefined), $(false)
if (!selector) {
return this;
}
分析jQuery源碼,怎么能不看源代碼呢?。?!
返回去的就是jQuery.fn.init 函數構造的對象
有參數,最后會 return jQuery.makeArray(selector, this);
if (!selector) {
return this;
}
分析jQuery源碼,怎么能不看源代碼呢?。?!
返回去的就是jQuery.fn.init 函數構造的對象
有參數,最后會 return jQuery.makeArray(selector, this);
2016-07-18
靜態方法是放在全局緩存中,每個新建的對象得到一個ID值,以ID值去取存儲的內容。哪怕獲取的是同一個ID節點,因為又是新建的一個對象,所以不會覆蓋。
然而實例方法放在dom節點上,沒次存取是去相應的dom節點上存取,如果是相同的dom節點,但是不同的實例也會覆蓋。
和我之前想的差不多,畢竟是用JS寫的,大致主流思路就那些,不過這中間的內容真的沒看懂...每個this的取值都搞不清,不是我不會,而是內容上下文給的不明不白...
或許還是我的能力有待提升,還是蠻感謝老師的,還是有學到些東西。
然而實例方法放在dom節點上,沒次存取是去相應的dom節點上存取,如果是相同的dom節點,但是不同的實例也會覆蓋。
和我之前想的差不多,畢竟是用JS寫的,大致主流思路就那些,不過這中間的內容真的沒看懂...每個this的取值都搞不清,不是我不會,而是內容上下文給的不明不白...
或許還是我的能力有待提升,還是蠻感謝老師的,還是有學到些東西。
2016-07-15