国产xxxx99真实实拍_久久不雅视频_高清韩国a级特黄毛片_嗯老师别我我受不了了小说

資訊專欄INFORMATION COLUMN

【常忘系列1】—Function.prototype里面的call和apply

BLUE / 2343人閱讀

摘要:老是忘掉這兩個東東的用下,寫下來做個記錄吧。如果第一個參數(shù)為,函數(shù)體內(nèi)的指向宿主對象,在瀏覽器中是。和的用途改變指向上面的例子就是啦模擬

老是忘掉這兩個東東的用下,寫下來做個記錄吧。
他們作用是一模一樣的,只是傳入的參數(shù)不一樣

apply
apply接受兩個參數(shù),第一個制定了函數(shù)體內(nèi)this對象的指向,第二個參數(shù)為一個帶下標的集合(可遍歷對象),apply方法把這個集合中的元素作為參數(shù)傳遞給被調用的函數(shù):

var func = function(a, c, c){
    alert([a,b,c]); //[1,2,3]
}
func.apply(null, [1,2,3]);

call
call傳入的參數(shù)不固定,和apply相同的是,第一個參數(shù)也是代表函數(shù)體內(nèi)的this指向,第二個參數(shù)開始往后,每個參數(shù)被依次傳入函數(shù):

var func = function(a, b, c){
    alert([a,b,c]); //[1,2,3]
}
func.call(null, 1,2,3);

call是aplly的一顆語法糖。如果第一個參數(shù)為null,函數(shù)體內(nèi)的this指向宿主對象,在瀏覽器中是window。

call和apply的用途
1.改變this指向
上面的例子就是啦

2.Function.prototype.bind
模擬Function.prototype.bind

Function.prototype.bind = function(context){
    var self = this;
    return function(){
        return self.apply(context, arguments);
    }
};

var obj = {
    name: "cxs"
};

var func = function(){
    alert(this.name); //cxs
}.bind(obj);

fun();

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

轉載請注明本文地址:http://specialneedsforspecialkids.com/yun/79317.html

相關文章

  • 我要懂系列1-callapply

    摘要:和相同點改變指向可以傳參立即調用區(qū)別接收一個數(shù)組參數(shù),直接接收參數(shù)的性能會比差,因為要對數(shù)組參數(shù)進行判斷和解構模擬實現(xiàn)傳遞的如果是或者,那么就是,否則傳遞進來的就是要指向的從第二個參數(shù)開始就是要調用時用到參數(shù)的第二個參數(shù)為數(shù)組,數(shù)組中的元素 call和apply fn.call(isThis, arg1, arg2, ....) fn.apply(isThis, [arg1, arg2...

    Stardustsky 評論0 收藏0
  • 魔幻語言 JavaScript 系列call、bind 以及上下文

    摘要:那么,它到底是如何工作的呢讓我們從一種更簡單的實現(xiàn)開始實際上這種實現(xiàn)代碼更短,并且更易讀是函數(shù)原型中的一個函數(shù),它調用函數(shù),使用第一個參數(shù)作為參數(shù),并傳遞剩余參數(shù)作為被調用函數(shù)的參數(shù)。 原文:The Most Clever Line of JavaScript 作者:Seva Zaikov 原文 最近 一個朋友 發(fā)給我一段非常有趣的 JavaScript 代碼,是他在某個 開源庫中...

    cuieney 評論0 收藏0
  • javascript原生一步步實現(xiàn)bind分析

    摘要:綁定函數(shù)被調用時,也接受預設的參數(shù)提供給原函數(shù)。原型鏈官方文檔上有一句話說明綁定過后的函數(shù)被實例化之后,需要繼承原函數(shù)的原型鏈方法,且綁定過程中提供的被忽略繼承原函數(shù)的對象,但是參數(shù)還是會使用。 bind 官方描述 bind() 函數(shù)會創(chuàng)建一個新函數(shù)(稱為綁定函數(shù)),新函數(shù)與被調函數(shù)(綁定函數(shù)的目標函數(shù))具有相同的函數(shù)體(在 ECMAScript 5 規(guī)范中內(nèi)置的call屬性)。當目標...

    coordinate35 評論0 收藏0
  • JavaScript深入之callapply模擬實現(xiàn)

    摘要:深入系列第十篇,通過和的模擬實現(xiàn),帶你揭開和改變的真相一句話介紹方法在使用一個指定的值和若干個指定的參數(shù)值的前提下調用某個函數(shù)或方法。如果有錯誤或者不嚴謹?shù)牡胤剑垊毡亟o予指正,十分感謝。 JavaScript深入系列第十篇,通過call和apply的模擬實現(xiàn),帶你揭開call和apply改變this的真相 call 一句話介紹 call: call() 方法在使用一個指定的 this...

    miya 評論0 收藏0
  • JavaScript深入之bind模擬實現(xiàn)

    摘要:也就是說當返回的函數(shù)作為構造函數(shù)的時候,時指定的值會失效,但傳入的參數(shù)依然生效。構造函數(shù)效果的優(yōu)化實現(xiàn)但是在這個寫法中,我們直接將,我們直接修改的時候,也會直接修改函數(shù)的。 JavaScript深入系列第十一篇,通過bind函數(shù)的模擬實現(xiàn),帶大家真正了解bind的特性 bind 一句話介紹 bind: bind() 方法會創(chuàng)建一個新函數(shù)。當這個新函數(shù)被調用時,bind() 的第一個參數(shù)...

    FingerLiu 評論0 收藏0

發(fā)表評論

0條評論

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