函數(shù)四種調(diào)用模式以及其中的this指向
更新時間:2017年01月16日 16:18:30 作者:九成
本文主要介紹了函數(shù)四種調(diào)用模式以及其中的this指向的相關(guān)知識,具有一定的參考價值,下面跟著小編一起來看下吧
第一種:函數(shù)直接執(zhí)行模式
function add(a,b){
console.log(this);
return a+b;
}
add(10,20)//this===window
第二種:對象方法的調(diào)用模式
var obj={
name:'aaa',
age:20,
said:function(){
console.log(this);
}
}
obj.said();//this===obj,此處this指代被調(diào)用者
第三種:構(gòu)造器的調(diào)用模式
function School(){
this.said=function(){
console.log(this);
}
}
var nanj=new School();
nanj.said();//對象調(diào)用自己的方法,this===nanj,類似上面
第四種:call和apply調(diào)用模式
function change(a,b){
this.detial=a*b;
console.log(this);
}
var p={};
change.call(p,4,5);//此處的this===p
console.log(p.detial);
var q=[];
change.call(q,5,10)//this===q
console.log(q.detial);
//apply和call一樣的用法,只不過apply第二個參數(shù)用數(shù)組進(jìn)行傳遞
var arr=[];
change.apply(arr,[10,10]);//this===arr
console.log(arr.detial);
var str={};
change.apply(str,[20,20]);//this===str
console.log(str.detial);
以上就是本文的全部內(nèi)容,希望本文的內(nèi)容對大家的學(xué)習(xí)或者工作能帶來一定的幫助,同時也希望多多支持腳本之家!
相關(guān)文章
JavaScript引擎實現(xiàn)async/await的方法實例
大家應(yīng)該都知道隨著Node 7的發(fā)布,越來越多的人開始研究據(jù)說是異步編程終級解決方案的async/await,下面這篇文章主要給大家介紹了關(guān)于JavaScript引擎是如何實現(xiàn)async/await的相關(guān)資料,需要的朋友可以參考下2022-03-03
刷新頁面實現(xiàn)方式總結(jié)(HTML,ASP,JS)
多種方法實現(xiàn)頁面的刷新代碼2008-11-11
Bootstrap實現(xiàn)基于carousel.js框架的輪播圖效果
這篇文章主要為大家詳細(xì)介紹了Bootstrap實現(xiàn)基于carousel.js框架的輪播圖效果,無過渡動畫,具有一定的參考價值,感興趣的小伙伴們可以參考一下2017-05-05
JavaScript實現(xiàn)異步提交表單數(shù)據(jù)
這篇文章主要為大家詳細(xì)介紹了JavaScript實現(xiàn)異步提交表單數(shù)據(jù),文中示例代碼介紹的非常詳細(xì),具有一定的參考價值,感興趣的小伙伴們可以參考一下2021-05-05

