国产99久久精品_欧美日本韩国一区二区_激情小说综合网_欧美一级二级视频_午夜av电影_日本久久精品视频

最新文章專題視頻專題問答1問答10問答100問答1000問答2000關(guān)鍵字專題1關(guān)鍵字專題50關(guān)鍵字專題500關(guān)鍵字專題1500TAG最新視頻文章推薦1 推薦3 推薦5 推薦7 推薦9 推薦11 推薦13 推薦15 推薦17 推薦19 推薦21 推薦23 推薦25 推薦27 推薦29 推薦31 推薦33 推薦35 推薦37視頻文章20視頻文章30視頻文章40視頻文章50視頻文章60 視頻文章70視頻文章80視頻文章90視頻文章100視頻文章120視頻文章140 視頻2關(guān)鍵字專題關(guān)鍵字專題tag2tag3文章專題文章專題2文章索引1文章索引2文章索引3文章索引4文章索引5123456789101112131415文章專題3
問答文章1 問答文章501 問答文章1001 問答文章1501 問答文章2001 問答文章2501 問答文章3001 問答文章3501 問答文章4001 問答文章4501 問答文章5001 問答文章5501 問答文章6001 問答文章6501 問答文章7001 問答文章7501 問答文章8001 問答文章8501 問答文章9001 問答文章9501
當(dāng)前位置: 首頁 - 科技 - 知識百科 - 正文

javascript中apply、call和bind區(qū)別之實例講解

來源:懂視網(wǎng) 責(zé)編:小采 時間:2020-11-27 20:32:28
文檔

javascript中apply、call和bind區(qū)別之實例講解

javascript中apply、call和bind區(qū)別之實例講解:在說apply、call和bind區(qū)別之前還是先總結(jié)一下三者的相似之處: 1、都是用來改變函數(shù)的this對象的指向的。 2、第一個參數(shù)都是this要指向的對象。 3、都可以利用后續(xù)參數(shù)傳參。 那么他們的區(qū)別在哪里的,先看一個例子。 var xw = { name :
推薦度:
導(dǎo)讀javascript中apply、call和bind區(qū)別之實例講解:在說apply、call和bind區(qū)別之前還是先總結(jié)一下三者的相似之處: 1、都是用來改變函數(shù)的this對象的指向的。 2、第一個參數(shù)都是this要指向的對象。 3、都可以利用后續(xù)參數(shù)傳參。 那么他們的區(qū)別在哪里的,先看一個例子。 var xw = { name :

在說apply、call和bind區(qū)別之前還是先總結(jié)一下三者的相似之處:

1、都是用來改變函數(shù)的this對象的指向的。

2、第一個參數(shù)都是this要指向的對象。

3、都可以利用后續(xù)參數(shù)傳參。

那么他們的區(qū)別在哪里的,先看一個例子。

var xw = {
 name : "小王",
 gender : "男",
 age : 24,
 say : function() {
 alert(this.name + " , " + this.gender + " ,今年" + this.age); 
 }
}
var xh = {
 name : "小紅",
 gender : "女",
 age : 18
}
xw.say();

本身沒什么好說的,顯示的肯定是小王 , 男 , 今年24。
那么如何用xw的say方法來顯示xh的數(shù)據(jù)呢。
對于call可以這樣:

1.xw.say.call(xh);

對于apply可以這樣:

1.xw.say.apply(xh);

而對于bind來說需要這樣:

1.xw.say.bind(xh)();

如果直接寫xw.say.bind(xh)是不會有任何結(jié)果的,看到區(qū)別了嗎?call和apply都是對函數(shù)的直接調(diào)用,而bind方法返回的仍然是一個函數(shù),因此后面還需要()來進(jìn)行調(diào)用才可以。

那么call和apply有什么區(qū)別呢?我們把例子稍微改寫一下。

var xw = {
 name : "小王",
 gender : "男",
 age : 24,
 say : function(school,grade) {
 alert(this.name + " , " + this.gender + " ,今年" + this.age + " ,在" + school + "上" + grade); 
 }
}
var xh = {
 name : "小紅",
 gender : "女",
 age : 18
}

可以看到say方法多了兩個參數(shù),我們通過call/apply的參數(shù)進(jìn)行傳參。
對于call來說是這樣的

1.xw.say.call(xh,"實驗小學(xué)","六年級");

而對于apply來說是這樣的

1.xw.say.apply(xh,["實驗小學(xué)","六年級"]);

看到區(qū)別了嗎,call后面的參數(shù)與say方法中是一一對應(yīng)的,而apply的第二個參數(shù)是一個數(shù)組,數(shù)組中的元素是和say方法中一一對應(yīng)的,這就是兩者最大的區(qū)別。

那么bind怎么傳參呢?它可以像call那樣傳參。

1.xw.say.bind(xh,"實驗小學(xué)","六年級")();

但是由于bind返回的仍然是一個函數(shù),所以我們還可以在調(diào)用的時候再進(jìn)行傳參。

1.xw.say.bind(xh)("實驗小學(xué)","六年級");

以上是javascript中apply、call和bind區(qū)別之實例講解的全部內(nèi)容,希望本文章對碼農(nóng)有一定的閱讀價值。

聲明:本網(wǎng)頁內(nèi)容旨在傳播知識,若有侵權(quán)等問題請及時與本網(wǎng)聯(lián)系,我們將在第一時間刪除處理。TEL:177 7030 7066 E-MAIL:11247931@qq.com

文檔

javascript中apply、call和bind區(qū)別之實例講解

javascript中apply、call和bind區(qū)別之實例講解:在說apply、call和bind區(qū)別之前還是先總結(jié)一下三者的相似之處: 1、都是用來改變函數(shù)的this對象的指向的。 2、第一個參數(shù)都是this要指向的對象。 3、都可以利用后續(xù)參數(shù)傳參。 那么他們的區(qū)別在哪里的,先看一個例子。 var xw = { name :
推薦度:
標(biāo)簽: 區(qū)別 call 不同
  • 熱門焦點

最新推薦

猜你喜歡

熱門推薦

專題
Top
主站蜘蛛池模板: 国产福利一区二区 | 欧美视频网站在线观看 | 成人欧美一区二区三区视频 | 国产欧美日韩视频 | 亚洲欧美经典 | 亚洲国产成人久久99精品 | 日韩国产欧美一区二区三区在线 | 国产精品久久久久久久久鸭 | 欧美日韩亚洲综合另类ac | 精品视频网站 | 欧美高清亚洲欧美一区h | 国内精品自产拍在线观看91 | 激情另类国内一区二区视频 | 日本伊人网 | 亚洲欧美日韩综合在线 | 国内一级一级毛片a免费 | 一区二区网站 | 久久久久久国产精品免费 | 亚洲视频欧洲视频 | 毛片1级| 91在线中文字幕 | 国内高清久久久久久久久 | 黄色a视频 | 国产区精品福利在线社区 | 日韩第二页 | 日本 黄 a | 欧美一区二区三区在线播放 | 亚洲 自拍 另类 欧美 综合 | 亚洲国产欧美国产综合一区 | 日韩欧美在线综合 | 黄网站色视频免费观看 | 日韩第八页 | 亚洲小说欧美激情另类 | 亚洲精品午夜国产va久久成人 | 国产区在线免费观看 | 国产不卡视频在线播放 | 九色91丨porny加精 | 亚洲一区二区免费看 | 亚洲欧美综合图区官网 | 久久一区二区三区免费 | 日韩欧美视频在线播放 |