課程
/前端開(kāi)發(fā)
/JavaScript
/zepto設(shè)計(jì)和源碼分析
我想問(wèn)下,就是這個(gè)函數(shù)直接定義和在原型中定義在實(shí)際開(kāi)發(fā)中有什么區(qū)別
2018-05-25
源自:zepto設(shè)計(jì)和源碼分析 1-3
正在回答
直接 `arr.test` 是給arr這個(gè)數(shù)組(本質(zhì)還是對(duì)象)新增了一個(gè)新屬性,值為一個(gè)函數(shù)。
而 `arr.__proto__.test` 則是加在arr的原型上的。
類比面向?qū)ο蟮淖兂伤枷搿<僭O(shè)一直狗會(huì)叫,那么這個(gè)方法是針對(duì)每一只具體的狗逐個(gè)去賦予它這個(gè)方法呢?還是直接在狗的這個(gè)抽象類對(duì)象上?
不過(guò)在實(shí)例代碼中用prototype的更多一些吧,不過(guò)和 `__proto__` 也是有區(qū)別的,簡(jiǎn)單可以說(shuō)prototype是從Array上訪問(wèn),而在具體以的某個(gè)? `[]` 上是不行。不過(guò) `Array.prototype === [].__proto__`? ,因此可通過(guò)[].__proto__訪問(wèn)修改Array.prototype。 具體區(qū)別需要深入JavaScript的原型鏈機(jī)制了。
舉報(bào)
介紹zepto的設(shè)計(jì)框架和實(shí)現(xiàn)原理,看完后能輕松解讀zepto所有源碼
2 回答文檔在哪里?怎么沒(méi)有看到?
1 回答$.fn的疑問(wèn)
3 回答源碼里的 var undefined 是干嘛的?有人知道嗎?
2 回答測(cè)試修改了arr的__proto__會(huì)影響到其他的數(shù)組對(duì)象
1 回答下載下來(lái)的文檔有問(wèn)題
Copyright ? 2025 imooc.com All Rights Reserved | 京ICP備12003892號(hào)-11 京公網(wǎng)安備11010802030151號(hào)
購(gòu)課補(bǔ)貼聯(lián)系客服咨詢優(yōu)惠詳情
慕課網(wǎng)APP您的移動(dòng)學(xué)習(xí)伙伴
掃描二維碼關(guān)注慕課網(wǎng)微信公眾號(hào)
2018-06-02
直接 `arr.test` 是給arr這個(gè)數(shù)組(本質(zhì)還是對(duì)象)新增了一個(gè)新屬性,值為一個(gè)函數(shù)。
而 `arr.__proto__.test` 則是加在arr的原型上的。
類比面向?qū)ο蟮淖兂伤枷搿<僭O(shè)一直狗會(huì)叫,那么這個(gè)方法是針對(duì)每一只具體的狗逐個(gè)去賦予它這個(gè)方法呢?還是直接在狗的這個(gè)抽象類對(duì)象上?
不過(guò)在實(shí)例代碼中用prototype的更多一些吧,不過(guò)和 `__proto__` 也是有區(qū)別的,簡(jiǎn)單可以說(shuō)prototype是從Array上訪問(wèn),而在具體以的某個(gè)? `[]` 上是不行。不過(guò) `Array.prototype === [].__proto__`? ,因此可通過(guò)[].__proto__訪問(wèn)修改Array.prototype。 具體區(qū)別需要深入JavaScript的原型鏈機(jī)制了。