成人无码视频,亚洲精品久久久久av无码,午夜精品久久久久久毛片,亚洲 中文字幕 日韩 无码

資訊專欄INFORMATION COLUMN

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

ARGUS / 2146人閱讀

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

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

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

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

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

轉(zhuǎn)載請(qǐng)注明本文地址:http://m.hztianpu.com/yun/108936.html

相關(guān)文章

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

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

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

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

    LiveVideoStack 評(píng)論0 收藏0
  • JS中call、apply、bind方法詳解

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

    zombieda 評(píng)論0 收藏0
  • JS基礎(chǔ)篇--call、applybind方法詳解

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

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

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

    netmou 評(píng)論0 收藏0

發(fā)表評(píng)論

0條評(píng)論

ARGUS

|高級(jí)講師

TA的文章

閱讀更多
最新活動(dòng)
閱讀需要支付1元查看
<