Function.prototype.bind用法示例


Posted in Javascript onSeptember 16, 2013
//ECMAScript 5 Function.prototype.bind函数兼容处理 
(function(){ 
if ( !Function.prototype.bind ) { //function(){}.bind 
Function.prototype.bind = function ( o, /*参数列表*/ ) { 
var self = this, boundArgs = Array.prototype.slice.call(arguments, 0); 
return function(){ 
var args = [], i; 
for ( i = 1; i < boundArgs.length; i++ ) args.push(boundArgs[i]); 
for ( i = 0; i < arguments.length; i++ ) args.push(arguments[i]); 
return this.apply(o, args); 
} 
} 
} 
})();

用法示例:
1、简单调用示例
/*example 1*/ 
function f1(y, z){ return this.x + y + z;} 
//调用 1 
var g1 = f1.bind({x:1}, 2); //this.x = 1; y = 2; 
console.loog( g1(3) ); //this.x + y + 3 = 6; 
//调用 2 
var g2 = f1.bind({x:1}); //this.x = 1; 
console.log( g2(2,3) ); //this.x + 2 + 3 = 6 /*example 2*/ 
var f2(x, y){ return x + y; } 
//调用 
var g3 = f2.bind(null, 1); //x = 1 
console.log( g3(2) ); //x + 2 = 3

2、DOM调用示例
var eleBtn = document.getElementById("button") 
, eleText = document.getElementById("text"); eleBtn.onclick = function(color) { 
color = color || "#003399"; 
this.style.color = color; //此时的this指向eleText 
}.bind(eleText, "#cd0000");
Javascript 相关文章推荐
判断脚本加载是否完成的方法
May 26 Javascript
JavaScript 放大镜 移动镜片效果代码
May 09 Javascript
原生js实现的贪吃蛇网页版游戏完整实例
May 18 Javascript
JavaScript获取对象在页面中位置坐标的方法
Feb 03 Javascript
java中String类型变量的赋值问题介绍
Mar 23 Javascript
jquery组件WebUploader文件上传用法详解
Oct 23 Javascript
React创建组件的三种方式及其区别
Jan 12 Javascript
iphone刘海屏页面适配方法
May 07 Javascript
jQuery中DOM常见操作实例小结
Aug 01 jQuery
如何基于JS截获动态代码
Dec 25 Javascript
npm ci命令的基本使用方法
Sep 20 Javascript
JavaScript实现单点登录的示例
Sep 23 Javascript
javascript简单事件处理和with用法介绍
Sep 16 #Javascript
js的.innerHTML = &quot;&quot;IE9下显示有错误的解决方法
Sep 16 #Javascript
js window.print实现打印特定控件或内容
Sep 16 #Javascript
基于jquery的网站幻灯片切换效果焦点图代码
Sep 15 #Javascript
jquery中邮箱地址 URL网站地址正则验证实例代码
Sep 15 #Javascript
如何解决Jquery库及其他库之间的$命名冲突
Sep 15 #Javascript
异步动态加载js与css文件的js代码
Sep 15 #Javascript
You might like
日本十大科幻动漫 宇宙骑士垫底,第一已成经典
2020/03/04 日漫
PHP读MYSQL中文乱码的解决方法
2006/12/17 PHP
Search File Contents PHP 搜索目录文本内容的代码
2010/02/21 PHP
PHP实现长轮询消息实时推送功能代码实例讲解
2021/02/26 PHP
鼠标经过的文本框textbox变色
2009/05/21 Javascript
用javascript获取当页面上鼠标光标位置和触发事件的对象的代码
2009/12/09 Javascript
Jquery实现图片放大镜效果的思路及代码(自写)
2013/10/18 Javascript
基于jquery实现省市联动特效
2015/12/17 Javascript
微信小程序 共用变量值的实现
2017/07/12 Javascript
Angular4实现图片上传预览路径不安全的问题解决
2017/12/25 Javascript
vue动态路由配置及路由传参的方式
2018/05/23 Javascript
jQuery中常用动画效果函数知识点整理
2018/08/19 jQuery
Vue项目部署在Spring Boot出现页面空白问题的解决方案
2018/11/26 Javascript
vue组件内部引入外部js文件的方法
2020/01/18 Javascript
vue-router为激活的路由设置样式操作
2020/07/18 Javascript
[03:11]2014DOTA2国际邀请赛-VG掉入败者组 独家专访357
2014/07/19 DOTA
[03:42]2016国际邀请赛中国区预选赛首日现场玩家采访
2016/06/26 DOTA
python 判断自定义对象类型
2009/03/21 Python
PyTorch CNN实战之MNIST手写数字识别示例
2018/05/29 Python
python判断完全平方数的方法
2018/11/13 Python
python计算阶乘和的方法(1!+2!+3!+...+n!)
2019/02/01 Python
详解Python3中setuptools、Pip安装教程
2019/06/18 Python
python数据持久存储 pickle模块的基本使用方法解析
2019/08/30 Python
PyQt5中QTableWidget如何弹出菜单的示例代码
2020/02/23 Python
pandas数据分组groupby()和统计函数agg()的使用
2021/03/04 Python
巴西葡萄酒销售网站:Wine.com.br
2017/11/07 全球购物
Jones Bootmaker官网:优质靴子和鞋子在线
2020/11/30 全球购物
宿舍违规检讨书
2014/01/12 职场文书
《匆匆》教学反思
2014/02/22 职场文书
岗位廉洁从业承诺书
2014/03/28 职场文书
酒店工程部经理岗位职责
2015/04/09 职场文书
教师节倡议书2015
2015/04/27 职场文书
农民工工资保障承诺书
2015/05/04 职场文书
2015年秋学期师德师风建设工作总结
2015/10/23 职场文书
修辞手法有哪些?
2019/08/29 职场文书
MySQL Shell的介绍以及安装
2021/04/24 MySQL