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

玩轉方法:call和apply
來源:易賢網 閱讀:1493 次 日期: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
由于各方面情況的不斷調整與變化,易賢網提供的所有考試信息和咨詢回復僅供參考,敬請考生以權威部門公布的正式信息和咨詢為準!
關于我們 | 聯系我們 | 人才招聘 | 網站聲明 | 網站幫助 | 非正式的簡要咨詢 | 簡要咨詢須知 | 新媒體/短視頻平臺 | 手機站點

版權所有:易賢網

中文字幕免费精品_亚洲视频自拍_亚洲综合国产激情另类一区_色综合咪咪久久
久久综合色鬼综合色| 五月婷婷综合网| 日韩av中文在线观看| 91精品国模一区二区三区| 免费的成人av| 国产欧美一区二区精品婷婷| 99re成人在线| 免费在线观看精品| 国产精品妹子av| 欧美日韩在线播| 国产一区二区三区四区五区美女 | 欧美色国产精品| 九九在线精品视频| 亚洲欧洲制服丝袜| 亚洲精品在线三区| 一本高清dvd不卡在线观看| 免费成人在线影院| 一区二区三区日韩精品| 精品黑人一区二区三区久久| 91网站视频在线观看| 日韩精品成人一区二区三区| 国产精品色哟哟网站| 精品视频一区三区九区| 成人影视亚洲图片在线| 久久国产麻豆精品| 一区二区三区不卡在线观看| 精品99一区二区| 91精品国产麻豆国产自产在线| 成人av网在线| 国产原创一区二区| 七七婷婷婷婷精品国产| 亚洲狠狠爱一区二区三区| 国产精品久久久久一区| 久久精品在线观看| 久久久91精品国产一区二区精品 | 久久看人人爽人人| 555夜色666亚洲国产免| 在线观看日韩电影| 97精品电影院| 成人小视频在线观看| 久久精品国产亚洲a| 日韩精品乱码av一区二区| 亚洲精品美国一| |精品福利一区二区三区| 久久一夜天堂av一区二区三区| 91精品国产综合久久婷婷香蕉 | 狠狠色丁香久久婷婷综合_中 | 欧美色欧美亚洲另类二区| 日本大香伊一区二区三区| 99re这里都是精品| 91免费在线看| 91免费在线播放| eeuss国产一区二区三区| 国产乱子轮精品视频| 国产精品一级片在线观看| 国产一区 二区| 国产91丝袜在线播放九色| 国产.欧美.日韩| www.欧美色图| 91麻豆免费视频| 一本大道久久a久久精品综合| 国产精品一区二区在线播放| 丁香婷婷综合五月| 欧美猛男男办公室激情| 亚洲福利一二三区| 日韩欧美国产三级| 色婷婷综合久久久中文一区二区| 久久久噜噜噜久久人人看| 欧美另类一区二区三区| 欧美日韩一区二区不卡| 91精品国产色综合久久ai换脸| 欧美日韩视频在线第一区 | 午夜欧美电影在线观看| 天天操天天综合网| 久久精工是国产品牌吗| 国产精品一区二区久久精品爱涩| 五月激情综合网| 欧美性猛交xxxx乱大交退制版 | 欧美激情中文不卡| 中文字幕一区av| 亚洲成人av一区二区三区| 久久se精品一区精品二区| 成人精品国产福利| 欧美日韩久久一区| 国产欧美综合在线| 亚洲大片精品永久免费| 国产一区二区三区四| 91丨九色丨黑人外教| 日韩欧美在线123| 亚洲天堂福利av| 麻豆精品久久久| 一本大道久久a久久综合婷婷| 日韩一区二区三区精品视频| 国产精品区一区二区三区| 视频一区中文字幕| 99久久99久久精品国产片果冻 | 欧美男男青年gay1069videost| 久久蜜桃香蕉精品一区二区三区| 一区二区三区国产豹纹内裤在线| 黄页视频在线91| 7777精品伊人久久久大香线蕉的| 国产精品久久久久久久久久久免费看 | 国产剧情av麻豆香蕉精品| 欧美日韩一区二区三区免费看| 亚洲天堂精品视频| 91麻豆精品国产自产在线观看一区 | 国产成人综合亚洲网站| 欧美三级一区二区| 中文字幕色av一区二区三区| 韩国一区二区在线观看| 欧美日韩激情一区| 亚洲色图一区二区| 成人高清视频在线观看| 久久九九影视网| 激情欧美一区二区| 欧美xxxx在线观看| 日本欧美加勒比视频| 欧美日韩国产大片| 亚洲一区二区成人在线观看| 91搞黄在线观看| 日韩精品欧美精品| 欧美综合视频在线观看| 欧洲视频一区二区| 成人av在线电影| 国产午夜精品久久久久久久| 男人操女人的视频在线观看欧美| 欧美日韩国产a| 亚洲一区二区四区蜜桃| 欧美午夜精品一区二区三区| 亚洲国产美国国产综合一区二区| 91国内精品野花午夜精品| 亚洲精品成人精品456| 91视频观看视频| 亚洲一区二区美女| 7777精品伊人久久久大香线蕉经典版下载 | 在线看日韩精品电影| 亚洲成人三级小说| 依依成人精品视频| 91黄视频在线| 亚洲精品国产成人久久av盗摄 | 国产欧美精品一区| 丁香天五香天堂综合| 国产精品午夜电影| 99在线热播精品免费| 一区二区三区在线观看网站| 欧美嫩在线观看| 久久国产精品99久久久久久老狼| 精品国产伦一区二区三区免费| 国产乱码一区二区三区| 亚洲欧洲成人av每日更新| 在线免费亚洲电影| 老司机免费视频一区二区三区| 欧美精品久久久久久久多人混战| 91小宝寻花一区二区三区| 水野朝阳av一区二区三区| 亚洲精品写真福利| 国产清纯美女被跳蛋高潮一区二区久久w | 欧美日免费三级在线| 亚洲猫色日本管| 777午夜精品视频在线播放| 国产精品一级在线| 天堂精品中文字幕在线| 日韩av一级片| 久久久精品国产99久久精品芒果| 成人av在线资源网站| 午夜视黄欧洲亚洲| 国产欧美日韩在线| 欧美日韩高清一区二区| 国产成人一区二区精品非洲| 夜夜操天天操亚洲| 久久久高清一区二区三区| 色先锋资源久久综合| 老司机免费视频一区二区三区| 综合久久久久综合| 久久久久久亚洲综合| 欧美视频在线播放| 成人av资源在线| 久久99精品国产.久久久久| 亚洲自拍偷拍欧美| 中文字幕av一区二区三区| 日韩一区二区影院| 欧美少妇bbb| 99久久99久久免费精品蜜臀| 国产一区高清在线| 日本欧美一区二区| 亚洲成人av中文| 亚洲人123区| 国产精品久久综合| 欧美高清在线视频| 久久久久久久免费视频了| 日韩精品中午字幕| 91麻豆精品国产| 欧美日韩免费电影| 欧美日韩不卡在线| 欧美午夜电影网| 在线观看亚洲成人| 欧美性猛片xxxx免费看久爱| 色婷婷综合久久久| 欧美性高清videossexo| 91麻豆自制传媒国产之光|