中文字幕免费精品_亚洲视频自拍_亚洲综合国产激情另类一区_色综合咪咪久久

玩轉方法:call和apply
來源:易賢網 閱讀:1424 次 日期:2014-05-09 14:48:30
溫馨提示:易賢網小編為您整理了“玩轉方法:call和apply”,方便廣大網友查閱!

在實現繼承的時候,用到了兩個很特殊的方法,call和apply,下面,我就來說一下這個兩個方法

在ECMAScript v3中,給Function原型定義了這兩個方法,這兩個方法的作用都是一樣的:使用這兩個方法可以像調用其他對象方法一樣調用函數,這句話是從書上抄的,至少我是沒讀明白這是什么意思。

下面說簡單易懂的,先看段代碼:

代碼如下:

function Introduce(name,age)

{

document.write("My name is "+name+".I am "+age);

}

var p=new People();

Introduce.call(p,"Windking",20);

就說上面的這段代碼,用了call之后,Introduce就成了p的方法,不知道這樣說你明白了么?使用了call方法,上述的代碼就等同于了這個代碼:

復制代碼 代碼如下:

function People(name,age)

{

this.name=name;

this.age=age;

this.Introduce=function(){

document.write("My name is "+name+".I am "+age);

};

}

明白意思了么?apply也是一樣的作用。

好,我們不管這個方法到底能在實際中用到什么,先講語法。

call接受至少一個參數,call的第一個參數是指你所需要的對象,比如說上面的那個例子,Introduce方法希望他能夠被對象p所調用,那么就把p作為call的第一個參數。剩余的參數個數是任意的,作用是作為Introduce方法的參數。順序按照Introduce參數聲明的順序。比如Introduce.call(p,"Windking",20),假如Introduce是p的一個實例方法,那么也就是這樣的:p.Introduce("Windking",20)。明白了么?記住,傳入參數的順序要與函數聲明參數的順序保持一致。

了解了call,apply方法就容易理解了,apply和call唯一的區別是call接受至少一個參數,而apply只接受兩個參數,第一個參數與call一樣,第二個參數是一個帶下標的集合,比如說Introduce.call(p,"Windking",20)就可以改寫成Introduce.apply(p,["Windking",20])了。這次明白了么?

那究竟這兩個方法有什么用呢?如果我們只是為了實現上面的那個功能,把Introduce實現為People的方法不是更好么?

我把應用總結為兩條:

1.共享方法。先看代碼:

代碼如下:

function Introduce(name,age)

{

document.write("My name is "+name+".I am "+age);

}

這是一個自我介紹的方法,現在假設我們有一個男孩的類,和一個女孩的類(在這里我只是為了演示,在實際中,會用一個People的父類),因為他們的Introduce都是一樣的,于是我們就可以共享這個方法。

代碼如下:

function Boy()

{

this.BoyIntroduce=function(){

Introduce.call(this,name,age);

};

}

同理,Girl中也是一樣,這樣的話,我們就可以避免寫代碼了。其實這個有些牽強,因為我們完全也可以寫成:

代碼如下:

function Boy()

{

this.BoyIntroduce=function(){

Introduce(name,age);

}

}

但是這個時候,我們如果用Apply的話,就看上去簡單多了:

代碼如下:

function Boy()

{

this.BoyIntroduce=function(){

Introduce.apply(this,arguments);

};

}

是不是簡單了很多呢?如果參數很多的話,那么是不是不用再寫那么一場串密密麻麻的參數了呢!

2.跨域調用

看一個簡單的例子(僅為演示,無任何價值):

復制代碼 代碼如下:

function Boy(name,age)

{

this.BoyIntroduce=function(){

document.write("My name is "+name+".I am "+age);

}

}

function Girl(name,age)

{

}

這是一個Boy和一個Girl類,然后我們寫如下的代碼:

var b=new Boy("Windking",20);

b.BoyIntroduce();

這沒有任何異議。假設有一天有一個女孩也希望做一下自我介紹,只是偶然用一下,那么我就沒有必要修改Girl類,因為其他的女孩比較害羞,不喜歡自我介紹。那么這個時候我就可以這樣。

var g=new Girl("Xuan",22);

Introduce.call(g,"Xuan",22);

3.真正用處——繼承

好了,上面都是雕蟲小技,不登大雅之堂,下面才是call和apply最廣泛的應用,就是用于構造繼承。

更多信息請查看IT技術專欄

更多信息請查看網絡編程
易賢網手機網站地址:玩轉方法:call和apply
由于各方面情況的不斷調整與變化,易賢網提供的所有考試信息和咨詢回復僅供參考,敬請考生以權威部門公布的正式信息和咨詢為準!

2026上岸·考公考編培訓報班

  • 報班類型
  • 姓名
  • 手機號
  • 驗證碼
關于我們 | 聯系我們 | 人才招聘 | 網站聲明 | 網站幫助 | 非正式的簡要咨詢 | 簡要咨詢須知 | 新媒體/短視頻平臺 | 手機站點 | 投訴建議
工業和信息化部備案號:滇ICP備2023014141號-1 云南省教育廳備案號:云教ICP備0901021 滇公網安備53010202001879號 人力資源服務許可證:(云)人服證字(2023)第0102001523號
云南網警備案專用圖標
聯系電話:0871-65099533/13759567129 獲取招聘考試信息及咨詢關注公眾號:hfpxwx
咨詢QQ:1093837350(9:00—18:00)版權所有:易賢網
云南網警報警專用圖標
中文字幕免费精品_亚洲视频自拍_亚洲综合国产激情另类一区_色综合咪咪久久
亚洲三级视频在线观看| 加勒比av一区二区| 欧美大片在线观看一区| 国产精品黄色| 国产三级精品三级| 亚洲高清激情| 国精品一区二区| 国产精品s色| 国模精品一区二区三区| 精品动漫3d一区二区三区免费| 久久狠狠婷婷| 欧美电影在线观看完整版| 小处雏高清一区二区三区| 欧美影院成年免费版| 欧美福利视频在线观看| 国产欧美一区二区三区久久| 亚洲人成网站色ww在线| 99视频精品全部免费在线| 久久综合色播五月| 国产日韩成人精品| 亚洲图中文字幕| 欧美精品一区在线| 国产精品久久久久久久久久免费| 久久五月天婷婷| 亚洲日本成人网| 一区二区福利| 欧美日韩国产在线观看| 国产精品一区二区久久久久| 加勒比av一区二区| 久久精品99| 欧美日韩综合在线免费观看| 国产精品一区二区在线| 亚洲电影免费观看高清完整版在线| 夜夜嗨一区二区| 伊人成人开心激情综合网| 久久综合狠狠综合久久激情| 亚洲三级免费| 国产美女诱惑一区二区| 精品动漫3d一区二区三区免费| 中文精品视频一区二区在线观看| 黑人极品videos精品欧美裸| 欧美在线亚洲在线| 国产一区二区看久久| 欧美在线视频一区二区| 国产一区二区av| 在线免费日韩片| 国产丝袜美腿一区二区三区| 久久精品亚洲乱码伦伦中文 | 亚洲美女毛片| 久久久噜噜噜久久| 欧美大片91| 亚洲无吗在线| 在线 亚洲欧美在线综合一区| 亚洲伊人久久综合| 国产麻豆日韩欧美久久| 欧美日韩网址| 欧美亚洲色图校园春色| 亚洲激情自拍| 亚洲电影在线免费观看| 国产欧美在线观看一区| 美日韩精品视频| 久久国产加勒比精品无码| a91a精品视频在线观看| 在线免费日韩片| 国产日韩欧美高清免费| 欧美日韩综合久久| 欧美国产一区二区三区激情无套| 狠狠色狠狠色综合| 国产精品网站一区| 国产精品视频免费观看| 美女久久一区| 欧美freesex8一10精品| 黄色国产精品| 最新高清无码专区| 欧美日韩精品在线| 国产亚洲欧美aaaa| 国产亚洲精久久久久久| 国产一区二区三区直播精品电影 | 亚洲国产欧美日韩精品| 久久免费高清| 欧美va亚洲va香蕉在线| 久久婷婷国产综合国色天香| 中文亚洲欧美| 夜久久久久久| 久久国产主播| 亚洲欧美一区二区三区极速播放| 欧美日韩视频在线观看一区二区三区| 9l国产精品久久久久麻豆| 亚洲老板91色精品久久| 日韩视频在线一区| 久久成人18免费网站| 久久亚洲图片| 国产精品久久久久久久久婷婷 | 久久久久久黄| 亚洲欧美一区二区在线观看| 欧美国产日韩精品免费观看| 欧美日韩一二三四五区| 黄色亚洲网站| 先锋影音国产精品| 欧美日韩在线高清| 国内精品久久久久久| 一本一本久久a久久精品综合妖精| 国产日韩在线看| 亚洲看片免费| 欧美日韩mp4| 一区二区三区欧美在线| 久久大香伊蕉在人线观看热2| 欧美激情免费观看| 久久精品国产99| 欧美日韩成人在线视频| 久久精品人人| 一区二区视频欧美| 久久只精品国产| 99亚洲精品| 精品69视频一区二区三区| 欧美精品入口| 午夜精彩国产免费不卡不顿大片| 久久精品国产免费看久久精品| 国产精品chinese| 欧美影院成年免费版| 国内精品久久久久久久97牛牛| 国产精品久久影院| 亚洲国产精品久久久久秋霞影院| 亚洲欧美一区二区三区久久| 影音欧美亚洲| 韩国一区电影| 黄色亚洲免费| 国产精品永久免费观看| 欧美日本成人| 欧美日韩亚洲一区| 亚洲视频1区2区| 一区二区在线观看视频| 午夜精品视频在线观看| 国产一区二区三区在线免费观看| 亚洲主播在线| 欧美亚洲三级| 欧美一区二区三区在线观看| 欧美精品一区在线播放| 久久久人成影片一区二区三区| 美国成人直播| 欧美在线观看视频一区二区三区 | 美女精品国产| 久久精品成人| 欧美专区在线观看| 久久精品中文字幕一区二区三区| 欧美日韩午夜精品| 伊大人香蕉综合8在线视| 国产日韩欧美三区| 国产精品99久久久久久久女警 | 欧美日韩精品免费观看视频完整| 欧美激情久久久久久| 欧美一区1区三区3区公司| 精品91在线| 亚洲国产你懂的| 午夜在线精品| 亚洲欧美日韩综合一区| 国产精品久久久久久亚洲毛片| 亚洲激情啪啪| 国产一区999| 国产一区二区三区久久久| 亚洲网站在线| 国产偷国产偷亚洲高清97cao| 日韩亚洲综合在线| 激情久久影院| 激情视频亚洲| 久久天天综合| 久久久噜噜噜久久狠狠50岁| 99re国产精品| 亚洲美女精品成人在线视频| 亚洲激情网址| 新67194成人永久网站| 亚洲一二三四区| 夜夜嗨av一区二区三区中文字幕 | 国精品一区二区三区| 欧美精品18videos性欧美| 亚洲网站在线观看| 亚洲欧美成人| 国产精品一区二区三区免费观看 | 国产丝袜美腿一区二区三区| 夜夜狂射影院欧美极品| 美女久久一区| 国产午夜精品久久久久久免费视| 欧美国产视频日韩| 国产精品视频免费在线观看| 精品91久久久久| 亚洲欧美bt| 欧美阿v一级看视频| 欧美喷潮久久久xxxxx| 一片黄亚洲嫩模| 欧美另类一区二区三区| 国产一区二区三区四区hd| 亚洲免费高清| 麻豆成人91精品二区三区| 国产原创一区二区| 亚洲欧美日韩综合国产aⅴ| 久久久久久久成人| 国产欧美丝祙| 久久综合国产精品台湾中文娱乐网| 91久久久久久久久久久久久| 亚洲一区二区精品在线|