欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

javascript如何使用bind指定接收者

 更新時(shí)間:2014年05月04日 17:18:25   作者:  
這篇文章主要介紹了javascript如何使用bind指定接收者,需要的朋友可以參考下
復(fù)制代碼 代碼如下:

var json = {
jArray: [],
jPush: function (c) {
this.jArray.push(c);
}
}
var examp = ["123", "~", "456"];

使用ES5給出的forEach循環(huán)examp,并且將它們添加到j(luò)son中的jArray中;
復(fù)制代碼 代碼如下:

examp.forEach(json.jPush);

這個(gè)時(shí)候會報(bào)錯(cuò):
 

產(chǎn)生這種報(bào)錯(cuò)的原因是json.jPush方法中的this并沒有指向json對象,而是指向了window.解決這個(gè)問題的方法就是給這個(gè)this找對人家.
好在forEach()提供了一個(gè)參數(shù),專門用于指定對象的.看代碼.
復(fù)制代碼 代碼如下:

examp.forEach(json.jPush,json);
alert(json.jArray);//結(jié)果正常了是,123~456

還有另外一種方法:
復(fù)制代碼 代碼如下:

examp.forEach(function (c) {
json.jPush(c);
});
alert(json.jArray);//123~456

還可以使用bind綁定
復(fù)制代碼 代碼如下:

examp.forEach(json.jPush.bind(json));
alert(json.jArray);

bind是創(chuàng)建了一個(gè)新函數(shù)而不是修改一個(gè)函數(shù).新函數(shù)的行為和原來函數(shù)的行為一樣,但他的接收者是我們給定的對象,而原有函數(shù)的接收者保持不變.
這意味著bind方法的使用是非常安全的,因?yàn)橐粋€(gè)函數(shù)或方法被共享的時(shí)候,不用擔(dān)心這個(gè)共享方法不會被修改掉了.

相關(guān)文章

  • JS中使用 after 偽類清除浮動(dòng)實(shí)例

    JS中使用 after 偽類清除浮動(dòng)實(shí)例

    這篇文章主要介紹了使用 after 偽類清除浮動(dòng)實(shí)例,非常不錯(cuò),具有參考借鑒價(jià)值,需要的的朋友參考下
    2017-03-03
  • 一文帶你深入理解JavaScript模板引擎

    一文帶你深入理解JavaScript模板引擎

    在Web前端開發(fā)中,需要將數(shù)據(jù)動(dòng)態(tài)渲染到頁面上,隨著應(yīng)用程序的復(fù)雜度增加,數(shù)據(jù)渲染的邏輯也變得越來越復(fù)雜,這時(shí)候就需要使用模板引擎來幫助我們動(dòng)態(tài)生成HTML標(biāo)記,本文將深入介紹 JavaScript 模板引擎,幫助讀者更好地理解和應(yīng)用模板引擎
    2023-06-06
  • js中字符型和數(shù)值型數(shù)字的互相轉(zhuǎn)化方法(必看)

    js中字符型和數(shù)值型數(shù)字的互相轉(zhuǎn)化方法(必看)

    下面小編就為大家?guī)硪黄猨s中字符型和數(shù)值型數(shù)字的互相轉(zhuǎn)化方法(必看)。小編覺得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧
    2017-04-04
  • 用javascript實(shí)現(xiàn)畫板的代碼

    用javascript實(shí)現(xiàn)畫板的代碼

    用javascript實(shí)現(xiàn)畫板的代碼...
    2007-09-09
  • JavaScript 判斷數(shù)據(jù)類型的4種方法

    JavaScript 判斷數(shù)據(jù)類型的4種方法

    這篇文章主要介紹了JavaScript 判斷數(shù)據(jù)類型的4種方法,幫助大家更好的理解和學(xué)習(xí)JavaScript,感興趣的朋友可以了解下
    2020-09-09
  • JavaScript中幾種時(shí)間格式之間的簡單轉(zhuǎn)換

    JavaScript中幾種時(shí)間格式之間的簡單轉(zhuǎn)換

    近期在練習(xí)或?qū)戫?xiàng)目時(shí)經(jīng)常會遇到時(shí)間格式的轉(zhuǎn)換問題,今天我就來總結(jié)一下,這篇文章主要給大家介紹了關(guān)于JavaScript中幾種時(shí)間格式之間的簡單轉(zhuǎn)換,需要的朋友可以參考下
    2024-01-01
  • javascript檢測flash插件是否被禁用的方法

    javascript檢測flash插件是否被禁用的方法

    這篇文章主要介紹了javascript檢測flash插件是否被禁用的方法,涉及JavaScript調(diào)用ActiveXObject組件操作flash插件的相關(guān)技巧,需要的朋友可以參考下
    2016-01-01
  • javascript根據(jù)時(shí)間生成m位隨機(jī)數(shù)最大13位

    javascript根據(jù)時(shí)間生成m位隨機(jī)數(shù)最大13位

    javascript根據(jù)時(shí)間生成m位隨機(jī)數(shù),最大13位隨機(jī)數(shù),并且不能保證首位不為0,實(shí)現(xiàn)代碼如下,需要的朋友可以參考下
    2014-10-10
  • IE8 下的Js錯(cuò)誤HTML Parsing Error...

    IE8 下的Js錯(cuò)誤HTML Parsing Error...

    今天調(diào)試一段JS代碼出現(xiàn)這個(gè)狀況..在火狐 IE7 和IE6下都正常...郁悶,在網(wǎng)上搜索了一下相關(guān)資料 一般錯(cuò)誤都是指所指定的標(biāo)簽沒有加載完就是用該對象....
    2009-08-08
  • 原生js編寫基于面向?qū)ο蟮姆猪摻M件

    原生js編寫基于面向?qū)ο蟮姆猪摻M件

    這篇文章主要為大家詳細(xì)介紹了原生js編寫基于面向?qū)ο蟮姆猪摻M件,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2016-12-12

最新評論