成人国产在线小视频_日韩寡妇人妻调教在线播放_色成人www永久在线观看_2018国产精品久久_亚洲欧美高清在线30p_亚洲少妇综合一区_黄色在线播放国产_亚洲另类技巧小说校园_国产主播xx日韩_a级毛片在线免费

資訊專欄INFORMATION COLUMN

call、apply、bind三者為改變this指向的方法

ARGUS / 2100人閱讀

call、apply、bind三者為改變this指向的方法
共同點:第一個參數(shù)都為改變this的指針。若第一參數(shù)為null/undefined,this默認(rèn)指向window
call(無數(shù)個參數(shù))
第一個參數(shù):改變this指向
第二個參數(shù):實參
使用之后會自動執(zhí)行該函數(shù)
    function fn(a,b,c){
        console.log(this,a+b+c); // this指向window
    }
    fn();
    fn.call(document,1,2,3);//call改變之后this 由 window 指向document  
    //輸出 #document 6   1,2,3是實參 結(jié)果相加為6
apply(兩個參數(shù))
第一個參數(shù):改變this指向
第二個參數(shù):數(shù)組(里面為實參)
使用時候會自動執(zhí)行函數(shù)
    function fn(a,b,c){
        console.log(this,a+b+c); 
    }
    fn();
    fn.apply(document,[1,2,3]); 
bind(無數(shù)個參數(shù))
第一個參數(shù):改變this指向
第二個參數(shù)之后:實參
返回值為一個新的函數(shù)

使用的時候需要手動調(diào)用下返回 的新函數(shù)(不會自動執(zhí)行)

    function fn(a,b,c){
        console.log(this,a+b+c); //window
    }
    fn.bind("小明",1,2,3)(); //手動調(diào)用一下
call、apply與bind區(qū)別:前兩個可以自動執(zhí)行,bind不會自動執(zhí)行,需要手動調(diào)用

call、bind與apply區(qū)別:前兩個都有無數(shù)個參數(shù),apply只有兩個參數(shù),而且第二個參數(shù)為數(shù)組

文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請注明本文地址:http://systransis.cn/yun/108936.html

相關(guān)文章

  • javascript系列--this指向apply,call,bind三者區(qū)別

    摘要:一前言指向,,,的區(qū)別是一個經(jīng)典的面試問題,同時在項目中會經(jīng)常使用到的原生的方法。中可能會極大的避免了產(chǎn)生的錯誤,有時候需要維護老的項目還是有必要了解一下的指向和,,三者的區(qū)別。 一、前言 this指向,apply,call,bind的區(qū)別是一個經(jīng)典的面試問題,同時在項目中會經(jīng)常使用到的原生的js方法。同時也是ES5中的眾多坑的一個。ES6中可能會極大的避免了this產(chǎn)生的錯誤,有時候...

    happen 評論0 收藏0
  • javascript關(guān)于this 以及this顯示設(shè)置(apply、call、bind)

    摘要:如果連續(xù)呢結(jié)果會是什么結(jié)果還是第一個原因是,在中,多次是無效的。更深層次的原因,的實現(xiàn),相當(dāng)于使用函數(shù)在內(nèi)部包了一個,第二次相當(dāng)于再包住第一次故第二次以后的是無法生效的。 this 1.其實js中的this沒那么難理解,當(dāng)找不到this時記住一句話:誰調(diào)我,我就指誰!new 誰指誰 function text1(){ console.log(this); //指wind...

    LiveVideoStack 評論0 收藏0
  • JS中call、apply、bind方法詳解

    摘要:不能應(yīng)用下的等方法。首先我們可以通過給目標(biāo)函數(shù)指定作用域來簡單實現(xiàn)方法保存,即調(diào)用方法的目標(biāo)函數(shù)考慮到函數(shù)柯里化的情況,我們可以構(gòu)建一個更加健壯的這次的方法可以綁定對象,也支持在綁定的時候傳參。原因是,在中,多次是無效的。 bind 是返回對應(yīng)函數(shù),便于稍后調(diào)用;apply 、call 則是立即調(diào)用 。 apply、call 在 javascript 中,call 和 apply 都是...

    zombieda 評論0 收藏0
  • JS基礎(chǔ)篇--call、apply、bind方法詳解

    摘要:首先我們可以通過給目標(biāo)函數(shù)指定作用域來簡單實現(xiàn)方法保存,即調(diào)用方法的目標(biāo)函數(shù)考慮到函數(shù)柯里化的情況,我們可以構(gòu)建一個更加健壯的這次的方法可以綁定對象,也支持在綁定的時候傳參。原因是,在中,多次是無效的。而則會立即執(zhí)行函數(shù)。 bind 是返回對應(yīng)函數(shù),便于稍后調(diào)用;apply 、call 則是立即調(diào)用 。 apply、call 在 javascript 中,call 和 apply 都是...

    lastSeries 評論0 收藏0
  • 前端基礎(chǔ):call,apply,bind理解

    摘要:和區(qū)別其實他們的作用是一樣的,只是傳遞的參數(shù)不一樣而已。接受個參數(shù),第一個參數(shù)指定了函數(shù)體內(nèi)對象的指向,第二個參數(shù)為數(shù)組或者一個類數(shù)組??磦€栗子一個有意思的事在中,多次是無效的。而則會立即執(zhí)行函數(shù)。 背景 前兩天在做小程序的需求的時候用到bind的時候才想起自己對這三的東西的了解比較淺薄,這個時候用的時候就有點怕。時候還是要好好學(xué)習(xí)下,理解下怎么玩。 正文 先說call 和 apply...

    netmou 評論0 收藏0

發(fā)表評論

0條評論

ARGUS

|高級講師

TA的文章

閱讀更多
最新活動
閱讀需要支付1元查看
<