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

JavaScript中神奇的call()方法

 更新時間:2015年03月12日 10:28:41   投稿:junjie  
這篇文章主要介紹了JavaScript中神奇的call()方法,本文用淺顯的語言幫助你加深理解call()方法,需要的朋友可以參考下

先看看關于call()的官方解釋,“調(diào)用一個對象的一個方法,以另一個對象替換當前對象?!?,看了這樣的解釋,或許讓你更摸不著頭腦了??蠢樱?br />

復制代碼 代碼如下:

var x = "我是全局變量";    //定義全局變量x
function a(){         //定義函數(shù)類結(jié)構(gòu)a  
    this.x = "我是在函數(shù)類結(jié)構(gòu)a中聲明的哦";   
}
//定義普通函數(shù),彈出當前指針所包含的變量x的值
function f(){      
    alert (this.x);
}
//返回值為“我是在函數(shù)類結(jié)構(gòu)a中聲明的哦”
f.call(new a());

我的理解是,f.call(new a())就是把函數(shù)(其實也是對象)f復制到被調(diào)用對象“new a()”下面去解析,事實上和下面這段代碼的解析結(jié)果一樣:
復制代碼 代碼如下:

function a(){
  this.x = "我是在函數(shù)類結(jié)構(gòu)a中聲明的哦";
  alert(this.x);   
}
a();

只不過此時變量X的作用域不同而已,咿…看起來好像有點繼承的味道哦,難道不是嗎?在上例中,f完全被構(gòu)造函數(shù)a的實力對象繼承了,如果說這還不足以說明a.call(b)是一種繼承模式,那么再看一個更具有繼承味道的用法吧。
復制代碼 代碼如下:

function f(){   
    this.a ="a";   
    this.b = function(){   
        alert("b");
    }
}
function e(){   
    f.call(this);    
}
var c = new e();
alert(c.a);  //彈出a
c.b();    //彈出b

在這個例子中,只要會使用瀏覽器的朋友,都能看得出來e完全繼承了f的屬性和方法,否則是無法解釋的,因為在e中并沒有定義屬性a和b,那么按常理推斷在e的實例對象c中,并不會出現(xiàn)這兩個屬性。

相關文章

  • JavaScript深拷貝與淺拷貝實現(xiàn)詳解

    JavaScript深拷貝與淺拷貝實現(xiàn)詳解

    深拷貝和淺拷貝是面試中經(jīng)常出現(xiàn)的,主要考察對基本類型和引用類型的理解深度,這篇文章主要給大家介紹了關于js深拷貝和淺拷貝的相關資料,需要的朋友可以參考下
    2022-11-11
  • JavaScript中九種常用排序算法

    JavaScript中九種常用排序算法

    不同的排序算法,執(zhí)行效率有著天壤之別,本腳本用JavaScript演示了各種常見的排序算法,包括:冒泡排序、選擇排序、插入排序、謝爾排序、快速排序(遞歸)、快速排序(堆棧)、歸并排序、堆排序
    2014-09-09
  • 小程序canvas實現(xiàn)畫布半圓環(huán)

    小程序canvas實現(xiàn)畫布半圓環(huán)

    這篇文章主要為大家詳細介紹了小程序canvas實現(xiàn)畫布半圓環(huán),文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2022-06-06
  • 使用uniapp實現(xiàn)發(fā)布朋友圈功能

    使用uniapp實現(xiàn)發(fā)布朋友圈功能

    這篇文章主要介紹了使用uniapp實現(xiàn)發(fā)布朋友圈功能,在文章底部給大家介紹了uniapp?微信小程序分享、分享朋友圈功能,通過頁內(nèi)自定義分享按鈕,結(jié)合實例代碼給大家介紹的非常詳細,需要的朋友可以參考下
    2022-09-09
  • JS公共小方法之判斷對象是否為domElement的實例

    JS公共小方法之判斷對象是否為domElement的實例

    下面小編就為大家?guī)硪黄狫S公共小方法之判斷對象是否為domElement的實例。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2016-11-11
  • JS識別瀏覽器類型(電腦瀏覽器和手機瀏覽器)

    JS識別瀏覽器類型(電腦瀏覽器和手機瀏覽器)

    本文給大家分享一段js代碼關于識別瀏覽器的類型是手機瀏覽器還是電腦瀏覽器,有需要的朋友可以參考下本文
    2016-11-11
  • bootstrap基本配置_動力節(jié)點Java學院整理

    bootstrap基本配置_動力節(jié)點Java學院整理

    這篇文章主要介紹了bootstrap基本配置,詳細講解如何下載并安裝 Bootstrap,討論 Bootstrap 文件結(jié)構(gòu),并通過一個實例演示它的用法。
    2017-07-07
  • Bootstrap基本插件學習筆記之標簽切換(17)

    Bootstrap基本插件學習筆記之標簽切換(17)

    這篇文章主要為大家詳細介紹了Bootstrap基本插件學習筆記之標簽切換的相關資料,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2016-12-12
  • Javasipt:操作radio標簽詳解

    Javasipt:操作radio標簽詳解

    本篇文章主要介紹了Javasipt:操作radio標簽。需要的朋友可以過來參考下,希望對大家有所幫助
    2013-12-12
  • JS小功能(列表頁面隔行變色)簡單實現(xiàn)

    JS小功能(列表頁面隔行變色)簡單實現(xiàn)

    這篇文章主要介紹了JS列表頁面隔行變色簡單實現(xiàn),有需要的朋友可以參考一下
    2013-11-11

最新評論