欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

JavaScript繼承定義與用法實(shí)踐分析

 更新時(shí)間:2018年05月28日 09:20:35   作者:記憶的森林  
這篇文章主要介紹了JavaScript繼承定義與用法,結(jié)合實(shí)例形式分析了JavaScript面向?qū)ο蟪绦蛟O(shè)計(jì)中基類的定義、原型繼承以及調(diào)用父類構(gòu)造函數(shù)等相關(guān)操作技巧,需要的朋友可以參考下

本文實(shí)例講述了JavaScript繼承定義與用法。分享給大家供大家參考,具體如下:

javascript 繼承 , 老生長(zhǎng)談的東西, 大家應(yīng)該都很熟悉了, 平時(shí)工作基本不會(huì)直接使用, 這段時(shí)間不忙, 所以補(bǔ)習(xí)了下相關(guān)基礎(chǔ)知識(shí) ,自己動(dòng)手實(shí)踐, 加深理解:

基類定義如下:

// base class
function Animal(t)
{
   if(typeof t==='string')
    this.type=t;
   else
   {
    if(t)
      this.type=t.toString();
    else
      this.type='Animal'
   }
   this.speak=function(str)
   {
    if(str)
      console.log(this.type+' said '+str);
    else
      throw "please specify what you want to say!";
   }
}

1. 原型繼承 (javascript 類庫本身基于原型繼承)

String, Number , Boolean 這三大原始類型 我們可以很直接的通過prototype 檢查到他們繼承自Object.

Date, RegExp ,Array 這三應(yīng)該是間接繼承了Object, 他們的prototype屬性很特殊 :

Date.prototype =Invalid Date
RegExp.prototype=/(?:)/
Array.prototype=[]

原型繼承代碼如下: (可以看到Mokey 原型鏈上的Animal和Object)

// Monkey : Animal 
function Monkey(name,age)
{
   this.name=name;
   this.age=age;
}
Monkey.prototype=new Animal('Monkey');
// Example 01
var m=new Monkey('codeMonkey',10);
    /*
    Monkey:
    age: 10
    name: "codeMonkey"
      __proto__: Animal
      speak: function (str)
      type: "Monkey"
        __proto__: Animal
        constructor: function Animal(t)
          __proto__: Object 
*/
console.log(m.type); // Monkey
console.log(m.name); // codeMonkey
console.log(m.age); // 10
m.speak('hello world') // Monkey said hello world 

2. 調(diào)用父類構(gòu)造函數(shù) ( 通過傳遞子類的this指針 , 將原本是父類的公開成員直接添加到了子類中,從子類原型鏈中無法看出繼承關(guān)系)

// Human:Animal 
function Human(id,name)
{
    // call base class's constuctor function
   Animal.call(this,'Human');
   this.id=id;
   this.name=name;
}
var h=new Human(1,'leon');
/*
id: 1
name: "leon"
speak: function (str)
type: "Human"
    __proto__: Human
    constructor: function Human(id,name)
      __proto__: Object
*/
h.speak('hello world'); // Human said hello world 
console.log(h.type); // Human

更多關(guān)于JavaScript相關(guān)內(nèi)容感興趣的讀者可查看本站專題:《javascript面向?qū)ο笕腴T教程》、《JavaScript錯(cuò)誤與調(diào)試技巧總結(jié)》、《JavaScript數(shù)據(jù)結(jié)構(gòu)與算法技巧總結(jié)》、《JavaScript遍歷算法與技巧總結(jié)》及《JavaScript數(shù)學(xué)運(yùn)算用法總結(jié)

希望本文所述對(duì)大家JavaScript程序設(shè)計(jì)有所幫助。

相關(guān)文章

  • js正則表達(dá)式簡(jiǎn)單校驗(yàn)方法

    js正則表達(dá)式簡(jiǎn)單校驗(yàn)方法

    在本篇文章里小編給大家整理了一篇關(guān)于js正則表達(dá)式簡(jiǎn)單校驗(yàn)方法,有需要的朋友們可以參考下。
    2021-01-01
  • JS利用cookie記憶當(dāng)前位置的防刷新導(dǎo)航效果

    JS利用cookie記憶當(dāng)前位置的防刷新導(dǎo)航效果

    這篇文章主要介紹了JS利用cookie記憶當(dāng)前位置的防刷新導(dǎo)航效果,涉及JavaScript操作cookie及導(dǎo)航樣式布局的相關(guān)技巧,具有一定參考借鑒價(jià)值,需要的朋友可以參考下
    2015-10-10
  • 通過js簡(jiǎn)單實(shí)現(xiàn)將一個(gè)文本內(nèi)容轉(zhuǎn)譯成加密文本

    通過js簡(jiǎn)單實(shí)現(xiàn)將一個(gè)文本內(nèi)容轉(zhuǎn)譯成加密文本

    將文本內(nèi)容轉(zhuǎn)譯成加密文本,在某些情況下還是比較實(shí)用的,下面通過js簡(jiǎn)單實(shí)現(xiàn)下,感興趣的朋友不要錯(cuò)過
    2013-10-10
  • JS中進(jìn)行字符串替換的方法

    JS中進(jìn)行字符串替換的方法

    replace() 方法用于在字符串中用一些字符替換另一些字符,或替換一個(gè)與正則表達(dá)式匹配的子串,這篇文章主要介紹了js中進(jìn)行字符串替換的方法,需要的朋友可以參考下
    2024-01-01
  • javascript動(dòng)態(tài)修改Li節(jié)點(diǎn)值的方法

    javascript動(dòng)態(tài)修改Li節(jié)點(diǎn)值的方法

    這篇文章主要介紹了javascript動(dòng)態(tài)修改Li節(jié)點(diǎn)值的方法,涉及針對(duì)li節(jié)點(diǎn)的操作技巧,非常具有實(shí)用價(jià)值,需要的朋友可以參考下
    2015-01-01
  • 一文詳解JavaScript中的事件循環(huán)(event?loop)機(jī)制

    一文詳解JavaScript中的事件循環(huán)(event?loop)機(jī)制

    JavaScript中的事件循環(huán)(Event?Loop)是一種重要的機(jī)制,用于管理異步代碼的執(zhí)行,它確保?JavaScript?單線程環(huán)境中的任務(wù)按照正確的順序執(zhí)行,同時(shí)允許異步操作如定時(shí)器、網(wǎng)絡(luò)請(qǐng)求和事件處理,本將給大家詳細(xì)的介紹一下JavaScript事件循環(huán)機(jī)制,感興趣的朋友可以參考下
    2023-12-12
  • JavaScript性能優(yōu)化之小知識(shí)總結(jié)

    JavaScript性能優(yōu)化之小知識(shí)總結(jié)

    JavaScript的性能問題不容小覷,這就需要我們開發(fā)人員在編寫JavaScript程序時(shí)多注意一些細(xì)節(jié),本文給大家介紹javascript性能優(yōu)化之小知識(shí)總結(jié),需要的朋友可以參考下
    2015-11-11
  • JS+Canvas實(shí)現(xiàn)五子棋游戲

    JS+Canvas實(shí)現(xiàn)五子棋游戲

    這篇文章主要為大家詳細(xì)介紹了原生JS+Canvas實(shí)現(xiàn)五子棋游戲,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2020-08-08
  • stats.js使用性能監(jiān)控源碼解讀

    stats.js使用性能監(jiān)控源碼解讀

    這篇文章主要為大家介紹了stats.js使用性能監(jiān)控源碼解讀,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2023-04-04
  • JS中實(shí)現(xiàn)函數(shù)return多個(gè)返回值的實(shí)例

    JS中實(shí)現(xiàn)函數(shù)return多個(gè)返回值的實(shí)例

    下面小編就為大家?guī)硪黄狫S中實(shí)現(xiàn)函數(shù)return多個(gè)返回值的實(shí)例。小編覺得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧
    2017-02-02

最新評(píng)論