第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時綁定郵箱和手機立即綁定
了解了js的new機制,以及prototype,prototype.constructor相關知識就能明白這里。
課程說的太繞了,反而把人繞暈。況且有些理解,并不一定適合。
這個“課程”到這里,感覺組織的不是太好,有點蜻蜓點水走馬觀花的味道。
如果是技術類文章,這樣還是不錯。但作為“課程”,就不夠了,課程目標和組織形式都很模糊。
使用了jQuery可以做到以下的幾點:

1.簡潔的API

2.優(yōu)雅的鏈式調(diào)用

3.強大的選擇器

4.便捷的操作

執(zhí)行一個動畫,需要設計的東西:

瀏覽器的兼容、各種屬性的獲取、邏輯流程、性能等等。
DOM對象容易產(chǎn)生內(nèi)存泄漏是因為IE9之前的瀏覽器的DOM和BOM中的對象就是使用C++以COM對象的形式實現(xiàn)的,而又COM對象的垃圾回收機制采用的就是引用計數(shù)策略。所以只有在IE9之前關于DOM對象的循環(huán)引用才會產(chǎn)生內(nèi)存泄漏,IE9以后的DOM不再是使用COM實現(xiàn)了,換成了真正的JavaScript對象了
更多關于內(nèi)存泄漏的可以參考這篇博文:http://blog.csdn.net/ronghuimo/article/details/78872382
有小伙伴說
$.fn.init.prototype = $.fn; 是$.fn.init繼承了$,其實是不對的,這里并沒有繼承,唯一作用就是讓$.fn.init.prototype指向$.fn,這樣一來init實例對象調(diào)用each方法會到$.fn.init.prototype上查找,也就是到$.fn上查找,由于$.fn上有each方法所以找到了,可以調(diào)用。如果說真要想$.fn.init繼承$,則應該這么寫:
$.fn.init.prototype.prototype = $.fn;或者$.fn.init.prototype = Object.create($.fn)
new操作主要分為四步:
(1)新創(chuàng)建一個空對象{}
(2)建立原型鏈接(新建立的這個空對象.__proto__指向構造函數(shù).prototype)
(3)this綁定 (當前this指向那個新創(chuàng)建的對象)
(4)返回對象(不設置return的話默認返回當前新創(chuàng)建的對象,否則return設置什么則返回什么)
$(selector,context)用于返回一個jq類數(shù)組對象,這個對象如何產(chǎn)生然后返回呢?通過new的方式對init函數(shù)進行構造調(diào)用,這個init函數(shù)我們打算綁在哪呢?打算綁在jquery.prototype上,每次一長串jquery.prototype是不是覺得太長了?那我們用jquery.fn來簡寫吧。于是出現(xiàn)了
jquery.fn=jquery.prototype={
init:function(){}
};
可這樣會導致重寫原型對象,jquery.prototype的constructor指向意外丟失了,那我們重新給其設置一下
constructor指向jquery吧
get方法最好定義在aQuery.prototype上,而不是直接定義在給每個實例對象上,這樣模仿jquery更像些
這章niubility,精巧
看蒙了,最后找到老師的博客,一下看明白了http://www.cnblogs.com/aaronjs/p/3278578.html#undefined

最新回答 / jixianceshi
自問自答:js語法的一種特殊寫法,+運算符后面,會把字符串格式的i轉換成數(shù)值類型。eg: "23" -> 23; "23fsf" -> NaN;
$.data(body1, 'age', '25');
$.data(body2, 'age', '28');
console.log($.data(body1, 'age'));//25
console.log($.data(body2, 'age'));//28
檢查了$.cache,并沒有“age”屬性,說明在靜態(tài)方法中并沒有將$("body")作為dom對象處理,只是按照普通對象的處理方式,附加在jQuery.expando屬性,側面反映了jquery的dom緩存機制
之前的評論說錯了,汗。。。老師沒有舉例為什么靜態(tài)方法不會產(chǎn)生覆蓋。PS:靜態(tài)方法hasData并不能檢測到實例方法.data()附加的數(shù)據(jù)。
“前面的第三小節(jié)留下了一個疑問:jQuery.data() 與 .data()為什么會有區(qū)別?”這句話所指區(qū)別在何處?jQuery.data() 與 .data()的值應該都會被覆蓋掉吧。也許老師想說的是運行$("#id").data("xx","yy");$("#id").data("xx","zz");“yy”并不會覆蓋“zz”,這是由于$.fn.init并不是單例模式的。
人走光了,占個坑。
占個坑。。
課程須知
源碼的閱讀不是一蹴而就的,需要大家有一定的功底,比如jQuery的基礎運用以及API的熟悉度,除此之外要有牢固的javascript、DOM、CSS的基礎功底,甚至還需要理解常見的設計模式、數(shù)據(jù)結構等等。當然大家也不要被這些給嚇住了,理解,總是需要一種慢慢的學習過程。
老師告訴你能學到什么?
通過本課程的學習,您可以由淺入深地剖析jQuery庫的設計與實現(xiàn)。 其中我們圍繞的重心: 1、設計理念 2、結構組織 3、接口設計 4、模式運用 5、場景套用

微信掃碼,參與3人拼團

微信客服

購課補貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網(wǎng)微信公眾號

友情提示:

您好,此課程屬于遷移課程,您已購買該課程,無需重復購買,感謝您對慕課網(wǎng)的支持!

本次提問將花費2個積分

你的積分不足,無法發(fā)表

為什么扣積分?

本次提問將花費2個積分

繼續(xù)發(fā)表請點擊 "確定"

為什么扣積分?

舉報

0/150
提交
取消