js方法繼承

2022-07-28 04:54:20 字數 999 閱讀 8203

還是原來的味道,原來的配方,我們先來了解你這讓你登上山頂的板磚(有些是個人想法和方法)

第一步、我們需要知道的是你定義的方法都會有乙個prototype(用來存放公共的屬性和方法),而這個原型指向乙個原型物件.原型物件中又存在constructor和__proto__、方法(如圖一)

圖一第二步、你需要知道例項化(new)後會產生乙個__proto__(可以理解為__proto__取代了prototype的位置並指向了原型物件),如圖二

圖二第三步、現在我們在了解基本知識的情況下開始正式介紹方法繼承(你想得到誰的方法就指向誰)

1、原型繼承(指向原型物件,指向原型物件後此原型物件就變成用來存放兩人的方法了)man.prototype = person.prototype(將man的原型指向person的原型,原型變成公有的了);

結果如圖三

從圖中我們不難看除man和person原型中的方法時一樣的,也可以得出其最大的缺點就是汙染"父級".

2、為了解決汙染父級的問題我們就不能讓子集的原型指向父級的原型,現在我們來觀察一下方法中還有哪些屬性,這個時候我們發現了arguments(偽陣列(nodelist),也可以稱它為物件),//方法的名字還沒有想好讀者可以提喔!

man.prototype.arguments=person.prototype;在man.prototype建立乙個arguments,再把person.prototype的方法放入

結果如題四

圖四其他的繼承方式以後補上.

js 繼承方法

call 只能繼承函式的值,並不能繼承函式的原型 可以看到 child 繼承了 parent 的 a b,但原型中的 newfu 並沒有 把要繼承的函式放到繼承者的原型中,原型物件的屬性是共享的 建立物件的三種方法 第一種方式,字面量 var o1 varo2 new object 第二種方式,通過...

JS 繼承方法總結

function person var p1 newperson var p2 newperson console.log p1.say p2.say false核心 將父類的例項作為子類的原型 function cat cat.prototype new animal cat.prototype....

JS繼承的方法

混入式繼承 var zz var wkl 1.混入式繼承 拷貝乙個物件的屬性 wkl.skill zz.skill wkl.money zz.money console.log wkl 太麻煩 直接遍歷 wkl.ex function obj wkl.ex zz console.log wkl 原型...