最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

理解Javascript的call、apply

 更新時間:2015年12月16日 17:02:45   作者:吳統(tǒng)威  
這篇文章主要介紹了Javascript的call、apply,其作用基本相同,但也有略微的區(qū)別,需要的朋友可以參考下

call 方法在使用一個指定的this值和若干個指定的參數(shù)值的前提下調(diào)用某個函數(shù)或方法.

注意:該函數(shù)的語法與 apply() 方法的語法幾乎完全相同,唯一的區(qū)別在于,apply()方法接受的是一個參數(shù)數(shù)組,而 call()方法接受的是一系列參數(shù)列表。

了解完這兩個方法的概念后,我們來一步一步理解他們的應(yīng)用.

改變方法內(nèi)this的指向
我們先來看下面這個例子

var name = "編程的人";
var age = 1;
var person = {
name:"公眾號:bianchengderen",
age:20
}
function say(){
console.log("我叫:"+this.name+",年齡:"+this.age)
}
say();// 我叫: 編程的人,年齡: 1
say.call(person);//年齡:20

這兩種調(diào)用執(zhí)行的方式不一樣,他們的結(jié)果也不一樣,不一樣在于say方法里面的this指向了不同的對象,第一次執(zhí)行指向的是window,而我們以call方式執(zhí)行,將say方法里面的this指向了person對象.
這是不是有點冒充別人的感覺.那我們這樣有什么作用了?當(dāng)然自己可以多多想想,到底能做什么! 我們繼續(xù)往下面走.

實現(xiàn)繼承機制
繼承,這是高級面向?qū)ο蟮囊环N特性,用call我們可以將JAVASCRIPT有這種特點.
在看下面這個例子之前,必須好好理解上面的例子.

function Person(){
this.name = "編程的人";
this.age = 20;
}
function Student(){
Person.call(this);
this.school = "地球";
}
var student = new Student();
//下面打印出來: 編程的人,20,地球
console.log(student.name,student.age,student.school);

在這個例子里,Student函數(shù)繼承了Person的name和age屬性,就是通過Person.call(this)來實現(xiàn),理解上面的例子后,應(yīng)該是不難理解的.所以Student即擁有了Person的特點,又有自己的個性,比如這個this.school.

在這里,我們沒有涉及到加入?yún)?shù)的傳遞,是方便大家的理解,需要加入?yún)?shù)傳遞,大家可以敲代碼試一試,看看效果怎么樣!

我們就先講這兩個例子吧,之后再進行深入學(xué)習(xí)。

相關(guān)文章

  • 詳解JavaScript中任意兩數(shù)加減的解決方案

    詳解JavaScript中任意兩數(shù)加減的解決方案

    JavaScript中一些浮點數(shù)相加減會計算錯誤,本文將為大家具體介紹一下JavaScript中解決任意兩數(shù)加減會出現(xiàn)錯誤的方案,需要的可以參考一下
    2022-02-02
  • 淺談JS如何寫出漂亮的條件表達式

    淺談JS如何寫出漂亮的條件表達式

    條件表達式,是我們在coding過程中永遠躲不開的問題,也是我們騙代碼行數(shù)最方便的東西,但作為一名程序員,我們也要追求自己的“信達雅”,下面就讓我們看看以下幾種常見的條件表達場景,如何寫的漂亮!
    2021-05-05
  • javascript中閉包概念與用法深入理解

    javascript中閉包概念與用法深入理解

    這篇文章主要介紹了javascript中閉包概念與用法,結(jié)合實例形式深入分析了javascript中閉包的概念、使用方法與相關(guān)注意事項,需要的朋友可以參考下
    2016-12-12
  • IE6兼容透明背景圖片及解決方案

    IE6兼容透明背景圖片及解決方案

    這篇文章給大家介紹IE6兼容透明背景圖片以及在IE6中的透明圖片不是透明顯示的解決方案,有需要的朋友可以參考下
    2015-08-08
  • 微信小程序webView嵌入H5的方法實例

    微信小程序webView嵌入H5的方法實例

    web-view是小程序提供的一個可以直連h5頁面的組件,只要傳遞一個h5頁面的地址,就可以在小程序里直接打開預(yù)覽該h5頁面,這篇文章主要給大家介紹了微信小程序webView嵌入H5的相關(guān)資料,需要的朋友可以參考下
    2021-07-07
  • Quasar Input:type=

    Quasar Input:type="number" 去掉上下小箭頭 實現(xiàn)加減按鈕樣式功能

    這篇文章主要介紹了Quasar Input:type="number" 去掉上下小箭頭 實現(xiàn)加減按鈕樣式,本文通過實例代碼給大家介紹的非常詳細,對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2020-04-04
  • 詳解JavaScript中Canvas的高級繪圖和動畫技術(shù)

    詳解JavaScript中Canvas的高級繪圖和動畫技術(shù)

    JavaScript中的Canvas 是一個強大的 HTML5 元素,允許你通過編程方式創(chuàng)建圖形、繪制圖像和實現(xiàn)復(fù)雜的動畫效果,在本文中,我們將深入探討 JavaScript Canvas 的高級繪圖和動畫技術(shù),并提供一個復(fù)雜的案例,以展示其潛力,需要的朋友可以參考下
    2023-10-10
  • JS實現(xiàn)判斷數(shù)組是否包含某個元素示例

    JS實現(xiàn)判斷數(shù)組是否包含某個元素示例

    這篇文章主要介紹了JS實現(xiàn)判斷數(shù)組是否包含某個元素,涉及javascript屬性操作與正則判斷相關(guān)使用技巧,需要的朋友可以參考下
    2019-05-05
  • js單獨獲取一個checkbox看其是否被選中

    js單獨獲取一個checkbox看其是否被選中

    這篇文章主要與大家分享js獲取一個checkbox看其是否被選中的具體實現(xiàn),很簡單,但很實用,需要的朋友可以參考下
    2014-09-09
  • JavaScript中六種面試??祭^承方式總結(jié)

    JavaScript中六種面試??祭^承方式總結(jié)

    js的幾種繼承方式在我們面試的時候經(jīng)常會被問到,所以深入理解js幾種繼承方式以及它們的優(yōu)缺點是非常有必要的。本文為大家整理了JavaScript中面試??嫉牧N繼承方式,需要的可以參考一下
    2023-02-02

最新評論

区。| 大英县| 元朗区| 林口县| 城口县| 周宁县| 平陆县| 章丘市| 石景山区| 绥棱县| 屏山县| 临泉县| 惠来县| 扎赉特旗| 偃师市| 西吉县| 晋城| 海伦市| 肥东县| 江川县| 滨州市| 侯马市| 会泽县| 玛多县| 铜陵市| 鄂尔多斯市| 临沭县| 六安市| 秀山| 龙州县| 古田县| 唐海县| 万安县| 囊谦县| 大洼县| 威海市| 哈巴河县| 万源市| 汉沽区| 长宁区| 广水市|