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

資訊專(zhuān)欄INFORMATION COLUMN

沒(méi)圖說(shuō)個(gè)錘子之js bind方法

RayKr / 2941人閱讀

摘要:在綁定函數(shù)中,對(duì)象將解析為傳入的對(duì)象。返回值與函數(shù)相同的新函數(shù)注意是新函數(shù),對(duì)象和初始參數(shù)除外。異常如果指定的不是函數(shù),則將引發(fā)異常。看到這里我們基本對(duì)方法的使用有個(gè)初步認(rèn)識(shí)了,那先來(lái)看看具體示例再分析分析。不知道看了兩幅圖,記住了方法沒(méi)

  

首發(fā)于搞起博客

bind方法,寫(xiě)javascript的肯定都見(jiàn)過(guò),我也是,但是,不是經(jīng)常用的話(huà),基本上過(guò)一段時(shí)間就會(huì)模糊了,所以,決定把它轉(zhuǎn)化成圖像,估計(jì)比較容易記憶。

概念

我們來(lái)看看MSDN上關(guān)于javascript bind函數(shù)的解釋?zhuān)?/p>

  

對(duì)于給定函數(shù),創(chuàng)建具有與原始函數(shù)相同的主體的綁定函數(shù)。 在綁定函數(shù)中,this 對(duì)象將解析為傳入的對(duì)象。 綁定函數(shù)具有指定的初始參數(shù)。

哈哈哈哈,是不是懵逼了?

莫慌,我們慢慢來(lái)看,看看用法先:

用法

function.bind(thisArg[,arg1[,arg2[,argN]]])

參數(shù)

function
必選。 一個(gè)函數(shù)對(duì)象。

thisArg
必選。 this 關(guān)鍵字可在新函數(shù)中引用的對(duì)象。

arg1[,arg2[,argN]]]
可選。 要傳遞到新函數(shù)的參數(shù)的列表。

返回值

與 function 函數(shù)相同的新函數(shù)(注意是新函數(shù)!),thisArg 對(duì)象初始參數(shù)除外。

異常

如果指定的 function 不是函數(shù),則將引發(fā) TypeError 異常。

看到這里我們基本對(duì)bind方法的使用有個(gè)初步認(rèn)識(shí)了,那先來(lái)看看具體示例再分析分析。

示例 this綁定
/**
 * 定義初始的函數(shù)
 * 這個(gè)函數(shù)的功能很簡(jiǎn)單,就是判斷數(shù)字是否在某個(gè)范圍
 */
var checkNumericRange = function (value) {
    if (typeof value !== "number")
        return false;
    else
        return value >= this.minimum && value <= this.maximum;
}

// 這里的范圍將會(huì)被綁定到函數(shù)中的this值去
var range = { minimum: 10, maximum: 20 };

// 開(kāi)始綁定!
var boundCheckNumericRange = checkNumericRange.bind(range);

// 使用一個(gè)數(shù)字來(lái)驗(yàn)證下這個(gè)函數(shù)
var result = boundCheckNumericRange (12);
document.write(result);

// 輸出: true

好了,這個(gè)簡(jiǎn)單的示例看完了,我們知道了,使用bind將一個(gè)對(duì)象綁定到某個(gè)函數(shù)中,這個(gè)函數(shù)中所使用的this就會(huì)指向綁上去的函數(shù)了,不羅嗦了,畫(huà)個(gè)圖理解。

再看個(gè)稍微有點(diǎn)不同的例子,其實(shí)也差不多:

// 創(chuàng)建一個(gè)帶有剛才那個(gè)方法的對(duì)象,
// 并且方法調(diào)用當(dāng)前這個(gè)對(duì)象中的最大值和最小值
var originalObject = {
    minimum: 50,
    maximum: 100,
    checkNumericRange: function (value) {
        if (typeof value !== "number")
            return false;
        else
            return value >= this.minimum && value <= this.maximum;
    }
}

// 檢查10是否在范圍內(nèi)
var result = originalObject.checkNumericRange(10);
document.write(result + " ");
// 輸出: false

// 還是同樣的配方,還是熟悉的味道
var range = { minimum: 10, maximum: 20 };

// bind技能要正在引導(dǎo)...
var boundObjectWithRange = originalObject.checkNumericRange.bind(range);

// 看看這次的效果
var result = boundObjectWithRange(10);
document.write(result);
// 輸出: true, 有效了!
參數(shù)綁定

在參數(shù)中還可以有幾個(gè)參數(shù)帶進(jìn)來(lái)
arg1[,arg2[,argN]]]

// 又是定義一個(gè)函數(shù),這次是4個(gè)參數(shù)
var displayArgs = function (val1, val2, val3, val4) {
    document.write(val1 + " " + val2 + " " + val3 + " " + val4);
}

var emptyObject = {};

// 使用bind,產(chǎn)生一個(gè)新函數(shù)
// 這個(gè)新函數(shù)的第一第二個(gè)參數(shù)已經(jīng)定死了為這兩個(gè),再有參數(shù)往后排
var displayArgs2 = displayArgs.bind(emptyObject, 12, "a");

// 這里就是兩個(gè)排隊(duì)的參數(shù)了
displayArgs2("b", "c");
// 輸出: 12 a b c 

恩,知道,上圖再說(shuō)對(duì)吧

上圖可以看出bind時(shí)傳入的參數(shù),在新函數(shù)中作為最先使用的參數(shù),但是它并沒(méi)有改變?cè)瘮?shù)參數(shù)的個(gè)數(shù)

不知道看了兩幅圖,記住了bind方法沒(méi)?

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

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

相關(guān)文章

  • 《CSS 揭秘》作者Lea Verou:我喜歡分享開(kāi)源的行業(yè)文化

    摘要:作為女性,你又來(lái)自互聯(lián)網(wǎng)技術(shù)不太發(fā)達(dá)的希臘。希臘目前可能還存在一些針對(duì)女性的性別歧視,但并不明顯,不然我可能會(huì)被影響到。實(shí)際上,有時(shí)候希臘在性別平等方面比其他西方國(guó)家更進(jìn)步。 本文僅用于學(xué)習(xí)和交流,不用于商業(yè)目的。非商業(yè)轉(zhuǎn)載請(qǐng)注明作譯者、出處,并保留本文的原始鏈接:http://www.ituring.com.cn/art... 訪談嘉賓: Lea VerouW3C CSS工作組特邀專(zhuān)...

    tianyu 評(píng)論0 收藏0
  • 《CSS 揭秘》作者Lea Verou:我喜歡分享開(kāi)源的行業(yè)文化

    摘要:作為女性,你又來(lái)自互聯(lián)網(wǎng)技術(shù)不太發(fā)達(dá)的希臘。希臘目前可能還存在一些針對(duì)女性的性別歧視,但并不明顯,不然我可能會(huì)被影響到。實(shí)際上,有時(shí)候希臘在性別平等方面比其他西方國(guó)家更進(jìn)步。 本文僅用于學(xué)習(xí)和交流,不用于商業(yè)目的。非商業(yè)轉(zhuǎn)載請(qǐng)注明作譯者、出處,并保留本文的原始鏈接:http://www.ituring.com.cn/art... 訪談嘉賓: Lea VerouW3C CSS工作組特邀專(zhuān)...

    yzd 評(píng)論0 收藏0
  • 《CSS 揭秘》作者Lea Verou:我喜歡分享開(kāi)源的行業(yè)文化

    摘要:作為女性,你又來(lái)自互聯(lián)網(wǎng)技術(shù)不太發(fā)達(dá)的希臘。希臘目前可能還存在一些針對(duì)女性的性別歧視,但并不明顯,不然我可能會(huì)被影響到。實(shí)際上,有時(shí)候希臘在性別平等方面比其他西方國(guó)家更進(jìn)步。 本文僅用于學(xué)習(xí)和交流,不用于商業(yè)目的。非商業(yè)轉(zhuǎn)載請(qǐng)注明作譯者、出處,并保留本文的原始鏈接:http://www.ituring.com.cn/art... 訪談嘉賓: Lea VerouW3C CSS工作組特邀專(zhuān)...

    leanote 評(píng)論0 收藏0
  • 【Vue原理】VModel - 源碼版 select 詳解

    摘要:寫(xiě)文章不容易,點(diǎn)個(gè)贊唄兄弟專(zhuān)注源碼分享,文章分為白話(huà)版和源碼版,白話(huà)版助于理解工作原理,源碼版助于了解內(nèi)部詳情,讓我們一起學(xué)習(xí)吧研究基于版本如果你覺(jué)得排版難看,請(qǐng)點(diǎn)擊下面鏈接或者拉到下面關(guān)注公眾號(hào)也可以吧原理源碼版之詳解今天我們來(lái)看看處 寫(xiě)文章不容易,點(diǎn)個(gè)贊唄兄弟專(zhuān)注 Vue 源碼分享,文章分為白話(huà)版和 源碼版,白話(huà)版助于理解工作原理,源碼版助于了解內(nèi)部詳情,讓我們一起學(xué)習(xí)吧研究基于 ...

    lsxiao 評(píng)論0 收藏0
  • 圖說(shuō) WebAssembly(四):快速入門(mén)

    摘要:本文是圖說(shuō)系列文章的第四篇。它們表示一種可以在普遍流行機(jī)器上高效使用的指令集合。這是因?yàn)槭且环N稱(chēng)為堆棧機(jī)器。盡管是根據(jù)堆棧機(jī)器來(lái)設(shè)計(jì)的,但是這并不是它在真實(shí)物理機(jī)器上工作的方式。這些內(nèi)容稱(chēng)為段。 本文是圖說(shuō) WebAssembly 系列文章的第四篇。如果您還未閱讀之前的文章,建議您從第一篇入手。 WebAssembly 是一種使得除 JavaScript 以外的編程語(yǔ)言也能運(yùn)行在網(wǎng)頁(yè)上...

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

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

0條評(píng)論

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