欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

老生常談 js中this的指向

 更新時(shí)間:2016年06月30日 11:38:01   投稿:jingxian  
下面小編就為大家?guī)硪黄仙U?js中this的指向。小編覺得挺不錯的, 現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧

在js中this的指向?qū)τ谛率謥碚f一定是個(gè)難題,但是如果你真正理解了的話,也就沒什么問題啦,下面就來講講this吧。

JS中,this的值取決于調(diào)用的模式(調(diào)用對象),而JS中共有4種調(diào)用模式:

1.函數(shù)調(diào)用模式

當(dāng)一個(gè)函數(shù)不是一個(gè)對象的屬性時(shí),當(dāng)作函數(shù)倆調(diào)用,這時(shí)函數(shù)內(nèi)的this指向全局對象(大對數(shù)情況下是window)

window.value=1;
function getValue(){
 console.log(this.value);
}
getValue();//輸出1,此時(shí)的this指向window

2.方法調(diào)用模式

當(dāng)一個(gè)函數(shù)是一個(gè)對象的屬性時(shí),我們稱它為該對象的一個(gè)方法,當(dāng)一個(gè)方法被調(diào)用時(shí),this指向該對象

var Obj={
  value:2,
  getValue:function(){
       console.log(this.value);//輸出2,this指向Obj
  }   
}

?。?!該模式中,this到對象的綁定發(fā)生在方法被調(diào)用時(shí)

3.構(gòu)造器調(diào)用模式

使用new調(diào)用的函數(shù)稱為構(gòu)造器函數(shù),此時(shí)的this指向該構(gòu)造器函數(shù)實(shí)例出來的對象

function main(val){
  this.value=val;
}
main.prototype.getValue=function(){
  console.log(this.value);
}

var fun=new main(3);
fun.getValue();
fun.value;//輸出3,this指向main的實(shí)例對象fun

4.apply/call調(diào)用模式以及bind

apply、call、bind方法可以讓我們設(shè)定調(diào)用者中的this指向誰

function showValue(){
  console.log(this.value);
}
var obj={
  value:4
}
showValue.call(obj)//輸出4,this指向了obj對象

ECMA5中新增了bind方法,具體用法可以google一下,這里是演示this綁定的用法

function showValue(){
  console.log(this.value);
}
var obj={
  value:4
}
var showValue2=showValue.bind(obj);
showValue2()//輸出4,this指向了obj對象

bind有很多種用法,可以自己去查閱一下哦

以上這篇老生常談 js中this的指向就是小編分享給大家的全部內(nèi)容了,希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。

相關(guān)文章

  • JS DOM 操作實(shí)現(xiàn)代碼

    JS DOM 操作實(shí)現(xiàn)代碼

    JS DOM 操作實(shí)現(xiàn)代碼,學(xué)習(xí)dom操作的朋友可以參考下。
    2010-08-08
  • 微信小程序和百度的語音識別接口詳解

    微信小程序和百度的語音識別接口詳解

    這篇文章主要介紹了微信小程序和百度的語音識別接口詳解,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2019-05-05
  • JS實(shí)現(xiàn)的簡單四則運(yùn)算計(jì)算器功能示例

    JS實(shí)現(xiàn)的簡單四則運(yùn)算計(jì)算器功能示例

    這篇文章主要介紹了JS實(shí)現(xiàn)的簡單四則運(yùn)算計(jì)算器功能,涉及javascript事件響應(yīng)及數(shù)值運(yùn)算相關(guān)操作技巧,需要的朋友可以參考下
    2017-09-09
  • JS中toFixed()方法四舍五入的精度問題詳解

    JS中toFixed()方法四舍五入的精度問題詳解

    最近在做項(xiàng)目的時(shí)候,遇到了有四舍五入保留兩位的需求,當(dāng)時(shí)不假思索的直接使用了js原生的toFixed方法,結(jié)果出現(xiàn)了問題,這篇文章主要給大家介紹了關(guān)于JS中toFixed()方法四舍五入精度問題的相關(guān)資料,需要的朋友可以參考下
    2021-10-10
  • JavaScript利用正則表達(dá)式替換字符串中的內(nèi)容

    JavaScript利用正則表達(dá)式替換字符串中的內(nèi)容

    本文主要介紹了JavaScript利用正則表達(dá)式替換字符串中內(nèi)容的具體實(shí)現(xiàn)方法,并做了簡要注釋,便于理解。具有一定的參考價(jià)值,需要的朋友可以看下
    2016-12-12
  • javascript如何合并多層級數(shù)組

    javascript如何合并多層級數(shù)組

    這篇文章主要介紹了javascript如何合并多層級數(shù)組問題,具有很好的參考價(jià)值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2023-01-01
  • JS實(shí)現(xiàn)將數(shù)字金額轉(zhuǎn)換為大寫人民幣漢字的方法

    JS實(shí)現(xiàn)將數(shù)字金額轉(zhuǎn)換為大寫人民幣漢字的方法

    這篇文章主要介紹了JS實(shí)現(xiàn)將數(shù)字金額轉(zhuǎn)換為大寫人民幣漢字的方法,涉及javascript字符串與數(shù)組操作的相關(guān)技巧,需要的朋友可以參考下
    2016-08-08
  • uni-app如何用JS動態(tài)修改scss樣式變量

    uni-app如何用JS動態(tài)修改scss樣式變量

    對于uni-app中的組件,可以通過修改它們的樣式來自定義它們的外觀,下面這篇文章主要給大家介紹了關(guān)于uni-app如何用JS動態(tài)修改scss樣式變量的相關(guān)資料,文中通過代碼介紹的非常詳細(xì),需要的朋友可以參考下
    2024-07-07
  • JavaScript之String常見的方法詳解

    JavaScript之String常見的方法詳解

    這篇文章主要為大家介紹了JavaScript之String常見的方法,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下,希望能夠給你帶來幫助
    2021-11-11
  • JavaScript基礎(chǔ)知識及常用方法總結(jié)

    JavaScript基礎(chǔ)知識及常用方法總結(jié)

    JAVASCRIPT是AJAX技術(shù)中不可或缺的一部分,所以想學(xué)好AJAX以及現(xiàn)在流行的AJAX框架,學(xué)好JAVASCRIPT是最重要的,通過本篇文章給大家介紹javascript基礎(chǔ)知識及常用方法總結(jié),對js基礎(chǔ)知識及常用方法相關(guān)知識感興趣的朋友一起學(xué)習(xí)吧
    2016-01-01

最新評論