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í)候會(huì)報(bào)錯(cuò):
產(chǎn)生這種報(bào)錯(cuò)的原因是json.jPush方法中的this并沒有指向json對(duì)象,而是指向了window.解決這個(gè)問題的方法就是給這個(gè)this找對(duì)人家.
好在forEach()提供了一個(gè)參數(shù),專門用于指定對(duì)象的.看代碼.
復(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ù)的行為一樣,但他的接收者是我們給定的對(duì)象,而原有函數(shù)的接收者保持不變.
這意味著bind方法的使用是非常安全的,因?yàn)橐粋€(gè)函數(shù)或方法被共享的時(shí)候,不用擔(dān)心這個(gè)共享方法不會(huì)被修改掉了.
相關(guān)文章
javascript簡(jiǎn)易緩動(dòng)插件(源碼打包)
最近,同事在做一個(gè)項(xiàng)目的時(shí)候,有個(gè)需求,需要一款動(dòng)畫庫來支持2012-02-02
uniapp多選框全選功能的實(shí)現(xiàn)思路與方法實(shí)例
uniapp給我們提供了tabs組件進(jìn)行單項(xiàng)的切換,但是多選的效果需要我們自己去手寫,下面這篇文章主要給大家介紹了關(guān)于uniapp多選框全選功能實(shí)現(xiàn)思路與方法的相關(guān)資料,需要的朋友可以參考下2022-08-08
elementui-樹形控件實(shí)現(xiàn)子節(jié)點(diǎn)右側(cè)添加圖標(biāo)和數(shù)據(jù)鼠標(biāo)放上去顯示文字效果
這篇文章主要介紹了elementui-樹形控件實(shí)現(xiàn)子節(jié)點(diǎn)右側(cè)添加圖標(biāo)和數(shù)據(jù)鼠標(biāo)放上去顯示文字效果,本文結(jié)合實(shí)例代碼給大家介紹的非常詳細(xì),感興趣的朋友一起看看吧2024-01-01
小程序封裝wx.request請(qǐng)求并創(chuàng)建接口管理文件的實(shí)現(xiàn)
這篇文章主要介紹了小程序封裝wx.request請(qǐng)求并創(chuàng)建接口管理文件2019-04-04
JavaScript使用addEventListener添加事件監(jiān)聽用法實(shí)例
這篇文章主要介紹了JavaScript使用addEventListener添加事件監(jiān)聽的方法,實(shí)例分析了addEventListener方法的相關(guān)使用技巧,需要的朋友可以參考下2015-06-06
uniapp開發(fā)微信小程序自定義頂部導(dǎo)航欄功能實(shí)例
uni-app是一個(gè)使用Vue.js開發(fā)跨平臺(tái)應(yīng)用的前端框架,下面這篇文章主要給大家介紹了關(guān)于uniapp開發(fā)微信小程序自定義頂部導(dǎo)航欄功能的相關(guān)資料,文中通過圖文以及示例代碼介紹的非常詳細(xì),需要的朋友可以參考下2022-08-08
js實(shí)現(xiàn)鼠標(biāo)點(diǎn)擊左上角滑動(dòng)菜單效果代碼
這篇文章主要介紹了js實(shí)現(xiàn)鼠標(biāo)點(diǎn)擊左上角滑動(dòng)菜單效果代碼,涉及JavaScript基于鼠標(biāo)事件動(dòng)態(tài)變換頁面元素樣式的技巧,具有一定參考借鑒價(jià)值,需要的朋友可以參考下2015-09-09

