摘要:繼承理論源于生活又高于生活在中繼承,和現(xiàn)實生活中繼承是相似的如兒子繼承父親財產(chǎn)子女的生理特性有父母的特性身高膚色性格等等只是一定比例上是這樣的,不是絕對的一樣中繼承方法有以下幾種本質(zhì)區(qū)別方法特別注意是本質(zhì)區(qū)別冒充繼承也稱之為借用構(gòu)造函數(shù)這種
JS繼承
理論源于生活、又高于生活JS中繼承方法有以下幾種本質(zhì)區(qū)別方法(特別注意是本質(zhì)區(qū)別)
在JS中“繼承”,和現(xiàn)實生活中繼承是相似的
如:兒子繼承父親財產(chǎn)、子女的生理特性有父母的特性(身高、膚色、性格等等....)
只是一定比例上是這樣的,不是絕對的一樣
冒充繼承(也稱之為借用構(gòu)造函數(shù))
這種方法實現(xiàn)原理主要是利用了call/apply
// 定義父“類”(ES6之前JS中沒有嚴格意義上的“類”概念) function Parent(name, age) { this.name = name this.age = age this.run = function () { console.log("run...") } } // 定義子”類“ Student.prototype.sid=200 function Student(name, age, sex) { var _super = Parent // call方法強制更改this指向,注意這個方向只是單純的操作當前this對象,并不會影響到其“原型對象” _super.call(this, name, age) delete _super this.sex=sex } var student=new Student("zs",20,"Male") console.log(student.name) // zs console.log(student.sid) // 200
原型鏈繼承
// 定義父“類”(ES6之前JS中沒有嚴格意義上的“類”概念) Parent.prototype.lastName="damon" function Parent() { this.lastName="pool" } // 定義子”類“ // 子類的原型指向父類的一個實例對象 Student.prototype=new Parent() function Student() { } var student=new Student() // 查找過程是怎么樣的? /* 1、首先會在對象student自身身上查找, 2、如果找不到,則到原型上查找,那么student的原型是誰? student.__proto__===Student.prototype 而Student.prototype=new Student也就是原型現(xiàn)在指向的是父類的實例 3、所以到父類的實例上去查找,如果找不到,再到父類實例的原型上查找 4、如果找不到,則到原型的原型上查找,此時到了Object.prototype身上 Object.prototype.__proto__===null 5、如果找不到,則返回undefined */ console.log(student.lastName) // damon
尚未寫完整,待續(xù)...
文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請注明本文地址:http://systransis.cn/yun/95567.html
摘要:并且用驗證了中一系列的實質(zhì)就是魔法糖的本質(zhì)。抽絲剝繭我們首先看的編譯結(jié)果這是一個自執(zhí)行函數(shù),它接受一個參數(shù)就是他要繼承的父類,返回一個構(gòu)造函數(shù)。 如果你已經(jīng)看過第一篇揭秘babel的魔法之class魔法處理,這篇將會是一個延伸;如果你還沒看過,并且也不想現(xiàn)在就去讀一下,單獨看這篇也沒有關(guān)系,并不存在理解上的障礙。 上一篇針對Babel對ES6里面基礎(chǔ)class的編譯進行了分析。這一篇將...
摘要:隨著函數(shù)使用場景的不同,而發(fā)生變化。是當前執(zhí)行上下文中的一部分。在中新增了該方法也是強制更改指向。但是和的區(qū)別是更改后不會立即執(zhí)行,它會返回一個新函數(shù)。 this何意?在英文中this是一個人稱代詞,表示這個的,具體指哪個?不確定,只有在具體的語境中才可確定,在編程語言中this也有同樣的類似特性。在js中this是一個關(guān)鍵字,它不能被當做變量、屬性,也不可以進行賦值操作。this 隨...
摘要:中任務分類同步異步同步任務異步任務中異步類型定時任務網(wǎng)絡請求回調(diào)函數(shù)事件綁定只能傳入一個參數(shù)未完待續(xù) JS中任務分類 同步 異步 同步任務 異步任務 JS中異步類型 定時任務 網(wǎng)絡請求 回調(diào)函數(shù) 事件綁定 Promise(resolve只能傳入一個參數(shù)) 未完待續(xù)...
閱讀 3523·2021-11-17 17:01
閱讀 3933·2021-11-08 13:12
閱讀 2487·2021-10-08 10:04
閱讀 706·2021-09-29 09:35
閱讀 1429·2021-09-26 10:12
閱讀 2055·2021-09-07 09:58
閱讀 1964·2019-08-30 15:55
閱讀 2142·2019-08-30 13:14