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

js繼承call()和apply()方法總結(jié)

 更新時間:2014年12月08日 09:50:50   投稿:hebedich  
本文介紹了js繼承當(dāng)中的call和apply方法,從定義到常用實例都做了分析,非常的實用,推薦給小伙伴們。

1、方法定義

call方法:
語法:call([thisObj[,arg1[, arg2[,   [,.argN]]]]])
定義:調(diào)用一個對象的一個方法,以另一個對象替換當(dāng)前對象。
說明:
call 方法可以用來代替另一個對象調(diào)用一個方法。call 方法可將一個函數(shù)的對象上下文從初始的上下文改變?yōu)橛?thisObj 指定的新對象。
如果沒有提供 thisObj 參數(shù),那么 Global 對象被用作 thisObj。

apply方法:
語法:apply([thisObj[,argArray]])
定義:應(yīng)用某一對象的一個方法,用另一個對象替換當(dāng)前對象。
說明:
如果 argArray 不是一個有效的數(shù)組或者不是 arguments 對象,那么將導(dǎo)致一個 TypeError。
如果沒有提供 argArray 和 thisObj 任何一個參數(shù),那么 Global 對象將被用作 thisObj, 并且無法被傳遞任何參數(shù)。

2、常用實例

a、

復(fù)制代碼 代碼如下:

function add(a,b) 

    alert(a+b); 

function sub(a,b) 

    alert(a-b); 

add.call(sub,3,1);  

 這個例子中的意思就是用 add 來替換 sub,add.call(sub,3,1) == add(3,1) ,所以運行結(jié)果為:alert(4); // 注意:js 中的函數(shù)其實是對象,函數(shù)名是對 Function 對象的引用。

b、

復(fù)制代碼 代碼如下:

function Animal(){   
    this.name = "Animal";   
    this.showName = function(){   
        alert(this.name);   
    }   
}   
function Cat(){   
    this.name = "Cat";   
}   
var animal = new Animal();   
var cat = new Cat();   
//通過call或apply方法,將原本屬于Animal對象的showName()方法交給對象cat來使用了。   
//輸入結(jié)果為"Cat"   
animal.showName.call(cat,",");   
//animal.showName.apply(cat,[]); 

 call 的意思是把 animal 的方法放到cat上執(zhí)行,原來cat是沒有showName() 方法,現(xiàn)在是把animal 的showName()方法放到 cat上來執(zhí)行,所以this.name 應(yīng)該是 Cat

c、實現(xiàn)繼承

復(fù)制代碼 代碼如下:

function Animal(name){     
    this.name = name;     
    this.showName = function(){     
        alert(this.name);     
    }     
}     
function Cat(name){   
    Animal.call(this, name);   
}     
var cat = new Cat("Black Cat");    
cat.showName(); 

 Animal.call(this) 的意思就是使用 Animal對象代替this對象,那么 Cat中不就有Animal的所有屬性和方法了嗎,Cat對象就能夠直接調(diào)用Animal的方法以及屬性了.

d、多重繼承

復(fù)制代碼 代碼如下:

function Class10() 

    this.showSub = function(a,b) 
    { 
        alert(a-b); 
    } 

function Class11() 

    this.showAdd = function(a,b) 
    { 
        alert(a+b); 
    } 

function Class2() 

    Class10.call(this); 
    Class11.call(this); 

 很簡單,使用兩個 call 就實現(xiàn)多重繼承了
當(dāng)然,js的繼承還有其他方法,例如使用原型鏈,這個不屬于本文的范疇,只是在此說明call 的用法。說了call ,當(dāng)然還有 apply,這兩個方法基本上是一個意思,區(qū)別在于 call 的第二個參數(shù)可以是任意類型,而apply的第二個參數(shù)必須是數(shù)組,也可以是arguments
還有 callee,caller..

相關(guān)文章

  • JavaScript hasOwnProperty() 函數(shù)實例詳解

    JavaScript hasOwnProperty() 函數(shù)實例詳解

    hasOwnProperty()函數(shù)用于指示一個對象自身(不包括原型鏈)是否具有指定名稱的屬性。下面通過本文給大家分享JavaScript hasOwnProperty() 函數(shù)實例講解,感興趣的朋友一起看看吧
    2017-08-08
  • 實現(xiàn)隔行換色效果的兩種方式【實用】

    實現(xiàn)隔行換色效果的兩種方式【實用】

    本文主要介紹了實現(xiàn)隔行顏色交替 鼠標(biāo)經(jīng)過高亮顏色的兩種方式的具體實例,有助于理解和使用。方案一:純CSS編寫;方案二:js代碼編寫。需要的朋友可以參考下
    2016-11-11
  • javascript斷點調(diào)試心得分享

    javascript斷點調(diào)試心得分享

    javascript中程序是怎么可以中斷執(zhí)行,然后一步一步走下去。而且debug的時候,可以看到變量,調(diào)用棧等東西。這個是如何實現(xiàn)的?
    2016-04-04
  • 微信小程序全局變量改變監(jiān)聽的實現(xiàn)方法

    微信小程序全局變量改變監(jiān)聽的實現(xiàn)方法

    這篇文章主要給大家介紹了關(guān)于微信小程序全局變量改變監(jiān)聽的實現(xiàn)方法,文中通過示例代碼介紹的非常詳細(xì),對大家學(xué)習(xí)或者使用微信小程序具有一定的參考學(xué)習(xí)價值,需要的朋友們下面來一起學(xué)習(xí)學(xué)習(xí)吧
    2019-07-07
  • 不同瀏覽器對回車提交表單的處理辦法

    不同瀏覽器對回車提交表單的處理辦法

    在瀏覽器中填寫表單的時,可以直接在“文本框”中敲擊“Enter”來提交表單,很是方便。
    2010-02-02
  • 微信小程序?qū)崿F(xiàn)人臉檢測功能

    微信小程序?qū)崿F(xiàn)人臉檢測功能

    這篇文章主要為大家詳細(xì)介紹了微信小程序?qū)崿F(xiàn)人臉檢測功能,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2018-05-05
  • JavaScript聲明函數(shù)的5種方法小結(jié)

    JavaScript聲明函數(shù)的5種方法小結(jié)

    本文主要介紹了JavaScript聲明函數(shù)的5種方法小結(jié),文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2023-02-02
  • Javascript 網(wǎng)頁黑白效果實現(xiàn)代碼(兼容IE/FF等)

    Javascript 網(wǎng)頁黑白效果實現(xiàn)代碼(兼容IE/FF等)

    今天在網(wǎng)上看到有人推薦的一個不錯的方法,試了一下,效果還是可以的,可以自定義讓網(wǎng)頁的某一部分變成灰度顏色(黑白)。
    2010-04-04
  • js實現(xiàn)上傳文件添加和刪除文件選擇框

    js實現(xiàn)上傳文件添加和刪除文件選擇框

    這篇文章主要為大家詳細(xì)介紹了js實現(xiàn)上傳文件添加和刪除文件選擇框 ,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2016-10-10
  • 使用JavaScript實現(xiàn)響應(yīng)式計數(shù)器動畫

    使用JavaScript實現(xiàn)響應(yīng)式計數(shù)器動畫

    在本文中,我們將學(xué)習(xí)如何使用?HTML?CSS?和?JavaScript創(chuàng)建響應(yīng)式計數(shù)器動畫。?我們在很多地方都可以用,比如適用于不同類型的個人網(wǎng)站、企業(yè)網(wǎng)站等,感興趣的可以了解一下
    2022-08-08

最新評論