覺得老師對(duì)memory的解釋有些歧義,看完了這節(jié)課,我覺得 本例中的memory變量是保存了當(dāng)前的fire函數(shù)的參數(shù),每次添加一個(gè)新的觀察者函數(shù),就用當(dāng)前的memory變量作為參數(shù)調(diào)用這個(gè)添加的觀察者函數(shù)一次。
2016-11-21
memory = options === 'memory' && data; 我一直以為memory的最終結(jié)果為true或者false,現(xiàn)在我才發(fā)現(xiàn)原來我沒有弄明白 與 的真諦! 假如 options === ‘memory’ 的話,memory = data。 其余情況 memory = false
2016-11-21
隨著后面課程的學(xué)習(xí),發(fā)現(xiàn)jQuery的實(shí)現(xiàn)方式跟我想的不一樣啊,我的實(shí)現(xiàn)思路就是實(shí)現(xiàn)一個(gè)被觀察者池,為每一個(gè)被觀察者命名;而jQuery則是在函數(shù)內(nèi)部定義一個(gè)觀察者數(shù)組,然后使用閉包的方式返回一個(gè)對(duì)象;如果用我的方法的話,還得額外檢測(cè)名字是否重復(fù)。問世間是否有山比此山更高,一山還比一山高啊
2016-11-21
隨著我們的使用,optionsCache會(huì)存入所有的可能的參數(shù)組合。
2016-11-21
今天又看了一遍,發(fā)現(xiàn)以前對(duì)這節(jié)課的理解是錯(cuò)的?。? 第19行, arguments.callee 指的是setTimeout內(nèi)的函數(shù),指的不是Aaron ??! 大家可以添加一句console.log(arguments.callee)試試。
另外我一直思考,為啥要用setTimeout函數(shù),百度得到了這個(gè)答案:settimeout的作用機(jī)制其實(shí)是把函數(shù)加入到全局(window)的空間里的任務(wù)隊(duì)列
另外我一直思考,為啥要用setTimeout函數(shù),百度得到了這個(gè)答案:settimeout的作用機(jī)制其實(shí)是把函數(shù)加入到全局(window)的空間里的任務(wù)隊(duì)列
2016-11-20
@javaeye 觀察不仔細(xì)??! 明明是 callee 不是 call!
callee返回正在執(zhí)行的函數(shù)本身的引用,它是arguments的一個(gè)屬性!
callee返回正在執(zhí)行的函數(shù)本身的引用,它是arguments的一個(gè)屬性!
2016-11-20
@小姜姜姜姜 'arguments.callee(List) 這句話可以換成 Aaron(List,callback) 這樣的話就需要每次執(zhí)行25毫秒'
建議不要換,因?yàn)槿绻麚Q了的話,以后我們需要對(duì)函數(shù)重命名的話,那我們就得改兩處。
建議不要換,因?yàn)槿绻麚Q了的話,以后我們需要對(duì)函數(shù)重命名的話,那我們就得改兩處。
2016-11-20
將觀察者都搞在一個(gè)集合中,當(dāng)被觀察者發(fā)生變化,就直接找到這個(gè)集合,并運(yùn)行其中的函數(shù)。
再擴(kuò)展一下:
可能有很多被觀察者,每個(gè)被觀察者都對(duì)應(yīng)一個(gè)觀察者集合,所以我們需要一個(gè)‘池’ 來存儲(chǔ)這些集合。那么 鍵值對(duì) 的格式就很符合。 { 被觀察者1:[觀察者集合] , 被觀察者2:[觀察者集合]....}
再擴(kuò)展一下:
可能有很多被觀察者,每個(gè)被觀察者都對(duì)應(yīng)一個(gè)觀察者集合,所以我們需要一個(gè)‘池’ 來存儲(chǔ)這些集合。那么 鍵值對(duì) 的格式就很符合。 { 被觀察者1:[觀察者集合] , 被觀察者2:[觀察者集合]....}
2016-11-19
關(guān)于slice感覺有點(diǎn)誤解大家,并不是因?yàn)槠ヅ涞慕Y(jié)果是數(shù)組,而是jquery原型上封裝了slice方法
2016-11-15
“除此之外類一的所有方法都是拷貝到當(dāng)前實(shí)例對(duì)象上。類二則是要通過scope連接到原型鏈上查找,這樣就無形之中要多一層作用域鏈的查找了” 這句話啥意思
2016-11-13
$.data()和.data()方法雖然大體的意思一樣,但是2個(gè)接口在處理上卻有差別,mark。
2016-11-11
javascript對(duì)象與DOM對(duì)象的相互引用易產(chǎn)生內(nèi)存泄漏。
為了避免內(nèi)存泄漏,我們要盡量避免 引用數(shù)據(jù)(這里的引用數(shù)據(jù)可以說是javascript對(duì)象) 直接依附在DOM對(duì)象上。
為了避免內(nèi)存泄漏,我們要盡量避免 引用數(shù)據(jù)(這里的引用數(shù)據(jù)可以說是javascript對(duì)象) 直接依附在DOM對(duì)象上。
2016-11-11