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

資訊專欄INFORMATION COLUMN

JavaScript 修改this指針

ephererid / 1604人閱讀

摘要:題目封裝函數,使的指向指定的對象。接收兩個參數,第一個是綁定的值,第二個是一個參數數組。而呢,它的第一個參數也是綁定給的值,但是后面接受的是不定參數,而不再是一個數組,也就是說你可以像平時給函數傳參那樣把這些參數一個一個傳遞。

題目

封裝函數 f,使 f 的 this 指向指定的對象 。

輸入例子
bindThis(function(a, b) {
    return this.test + a + b;
}, {test: 1})(2, 3);
輸出例子
6
分析

該題目的要求是:封裝一個函數bindThis,該函數有兩個參數,第一個參數是一個內部有使用this指針的函數f,第二個參數是一個對象obj,執行bindThis之后,返回一個函數,該函數里面的this就被綁定到obj上面。

function f(a, b) {
    return this.test + a + b;
}

function bindThis(f, obj) {
    //你實現的部分
}

//執行函數
var a = bindThis(f,{test:1});
a(2,3);
解決方法

javascript的三劍客:bind apply call

1、解決方法一:使用bind()

function f(a, b) {
    return this.test + a + b;
}

function bindThis(f, obj) {
    //你實現的部分
    return f.bind(obj);
}

//執行函數
var a = bindThis(f,{test:1});
console.log(a(2,3));
console.log(f(2,3));
6
NaN

2、解決方法二:使用apply()

function bindThis(f, obj) {
    //你實現的部分
    return function () {
        return f.apply(obj, arguments);
    };
}

3、解決方法三:使用call()

function bindThis(f, obj) {
    //你實現的部分
    return function (a,b) {
        return f.call(obj, a,b);
    };
}

call和apply基本的區別:參數不同。apply() 接收兩個參數,第一個是綁定 this 的值,第二個是一個參數數組。而 call() 呢,它的第一個參數也是綁定給 this 的值,但是后面接受的是不定參數,而不再是一個數組,也就是說你可以像平時給函數傳參那樣把這些參數一個一個傳遞。

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

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

相關文章

  • 寫給Java開發者看的JavaScript對象機制

    摘要:如果你已經對機制已有了解,但是由于兩者對象機制的巨大本質差異,對它和構造函數,實例對象的關系仍有疑惑,本文或許可以解答你的問題。所有的原型對象都會自動獲得一個屬性,這個屬性的值是指向原型所在的構造函數的指針。 幫助面向對象開發者理解關于JavaScript對象機制 本文是以一個熟悉OO語言的開發者視角,來解釋JavaScript中的對象。 對于不了解JavaScript 語言,尤其是習...

    Charles 評論0 收藏0
  • javascript技術難點(三)之this、new、apply和call詳解

    摘要:第四點也要著重講下,記住構造函數被操作,要讓正常作用最好不能在構造函數里 4) this、new、call和apply的相關問題 講解this指針的原理是個很復雜的問題,如果我們從javascript里this的實現機制來說明this,很多朋友可能會越來越糊涂,因此本篇打算換一個思路從應用的角度來講解this指針,從這個角度理解this指針更加有現實意義。 下面我們看看在ja...

    ghnor 評論0 收藏0
  • JS高級入門教程

    摘要:解析首先簡稱是由歐洲計算機制造商協會制定的標準化腳本程序設計語言。級在年月份成為的提議,由核心與兩個模塊組成。通過引入統一方式載入和保存文檔和文檔驗證方法對進行進一步擴展。其中表示的標記位正好是低三位都是。但提案被拒絕了。 JS高級入門教程 目錄 本文章定位及介紹 JavaScript與ECMAScript的關系 DOM的本質及DOM級介紹 JS代碼特性 基本類型與引用類型 JS的垃...

    zsy888 評論0 收藏0
  • javascript this指針詳解

    摘要:但是有一個總的原則,那就是指的是,調用函數的那個對象使用主要分四種情況,討論下指針的用法和注意事項一純粹的函數調用這是函數的最通常用法,屬于全局性調用,因此就代表全局對象。 this是Javascript語言的一個關鍵字它代表函數運行時,自動生成的一個內部對象,只能在函數內部使用,隨著函數使用場合的不同,this的值會發生變化。但是有一個總的原則,那就是this指的是,調用函數的那個對...

    graf 評論0 收藏0
  • javascript this指針詳解

    摘要:但是有一個總的原則,那就是指的是,調用函數的那個對象使用主要分四種情況,討論下指針的用法和注意事項一純粹的函數調用這是函數的最通常用法,屬于全局性調用,因此就代表全局對象。 this是Javascript語言的一個關鍵字它代表函數運行時,自動生成的一個內部對象,只能在函數內部使用,隨著函數使用場合的不同,this的值會發生變化。但是有一個總的原則,那就是this指的是,調用函數的那個對...

    AlphaWallet 評論0 收藏0

發表評論

0條評論

ephererid

|高級講師

TA的文章

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