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

為了賬號(hào)安全,請(qǐng)及時(shí)綁定郵箱和手機(jī)立即綁定

return new ajQuery.fn.init(selector);


init里面直接返回對(duì)象出來(lái)了,為什么前面還要new呢。

正在回答

4 回答

new是用來(lái)分隔每個(gè)新對(duì)象的作用域的,如果不用,那么aQuery.prototype上的屬性就會(huì)被污染,就是說(shuō)所有的對(duì)象共享一份aQuery.prototype屬性

0 回復(fù) 有任何疑惑可以回復(fù)我~

如果不用new,返回的是aQuery.prototype,當(dāng)你每次調(diào)用aQuery(selector)的時(shí)候返回的都是同一個(gè)(aQuery.prototype)對(duì)象,一旦對(duì)其進(jìn)行操作就會(huì)對(duì)所有的造成影響。加new之后對(duì)每次返回的對(duì)象進(jìn)行分離,即this被分離,每次都是一個(gè)新的實(shí)例對(duì)象(__proto__屬性引用同一個(gè)原型對(duì)象aQuery.prototype,故擁有aQuery.prototype所有的屬性),你對(duì)實(shí)例對(duì)象操作也只會(huì)影響其自身的屬性,而不會(huì)影響aQuery.prototype。好比,aQuery("aaa").bbb = "ccc"只會(huì)改變實(shí)例對(duì)象的屬性(即使aQuery.prototype有bbb = "ddd"也不會(huì)有影響,且調(diào)用的時(shí)候會(huì)優(yōu)先查找對(duì)象自身的屬性)。

4 回復(fù) 有任何疑惑可以回復(fù)我~

不通過(guò)new的話,會(huì)出錯(cuò),因?yàn)閠his是個(gè)關(guān)鍵字不能作為對(duì)象名稱,它只是作為作用域交接的中間人。根據(jù)前面講的new的4個(gè)步驟來(lái)說(shuō),關(guān)鍵在于第二步,通過(guò)this來(lái)指向新生成的對(duì)象。也就是說(shuō)return this == return (這個(gè)新生成的對(duì)象)。

1 回復(fù) 有任何疑惑可以回復(fù)我~

返回的可是this,需要通過(guò)操作符new

0 回復(fù) 有任何疑惑可以回復(fù)我~

舉報(bào)

0/150
提交
取消
jQuery源碼解析(架構(gòu)與依賴模塊)
  • 參與學(xué)習(xí)       84047    人
  • 解答問(wèn)題       290    個(gè)

由淺入深地剖析jQuery庫(kù)的設(shè)計(jì)與實(shí)現(xiàn),揭開(kāi)框架背后的秘密

進(jìn)入課程
微信客服

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

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動(dòng)學(xué)習(xí)伙伴

公眾號(hào)

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號(hào)