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 相关文章推荐
IE 上下滚动展示模仿Marquee机制
Dec 20 Javascript
JS获取页面input控件中所有text控件并追加样式属性
Feb 25 Javascript
javascript实现TreeView 无刷新展开的实例代码
Jul 13 Javascript
jQuery动态添加、删除元素的方法
Jan 09 Javascript
JavaScript搜索字符串并将搜索结果返回到字符串的方法
Apr 06 Javascript
使用 TypeScript 重新编写的 JavaScript 坦克大战游戏代码
Apr 07 Javascript
jquery层级选择器(匹配父元素下的子元素实现代码)
Sep 05 Javascript
jQuery实现的网页换肤效果示例
Sep 20 Javascript
单击按钮发送验证码,出现倒计时的简单实例
Mar 17 Javascript
vue路由--网站导航功能详解
Mar 29 Javascript
ES6基础之 Promise 对象用法实例详解
Aug 22 Javascript
JS+Canvas实现五子棋游戏
Aug 26 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
中英文字符串翻转函数
2008/12/09 PHP
php 获取远程网页内容的函数
2009/09/08 PHP
探讨方法的重写(覆载)详解
2013/06/08 PHP
PHP使用preg_split()分割特殊字符(元字符等)的方法分析
2017/02/04 PHP
使用Mootools动态添加Css样式表代码,兼容各浏览器
2011/12/12 Javascript
dtree 网页树状菜单及传递对象集合到js内,动态生成节点
2012/04/14 Javascript
用jQuery实现一些导航条切换,显示隐藏的实例代码
2013/06/08 Javascript
JavaScript对象数组排序函数及六个用法
2015/12/23 Javascript
jQuery+css实现的tab切换标签(兼容各浏览器)
2016/01/28 Javascript
Node.js的Web模板引擎ejs的入门使用教程
2016/06/06 Javascript
ros::spin() 和 ros::spinOnce()函数的区别及详解
2016/10/01 Javascript
解决ztree搜索中多级菜单展示不全问题
2017/07/05 Javascript
一个基于react的图片裁剪组件示例
2018/04/18 Javascript
node实现生成带参数的小程序二维码并保存到本地功能示例
2018/12/05 Javascript
vue 递归组件的简单使用示例
2021/01/14 Vue.js
Python实现将sqlite数据库导出转成Excel(xls)表的方法
2017/07/17 Python
Python运维自动化之nginx配置文件对比操作示例
2018/08/29 Python
Python API 自动化实战详解(纯代码)
2019/06/11 Python
python画微信表情符的实例代码
2019/10/09 Python
如何获取Python简单for循环索引
2019/11/21 Python
Python使用进程Process模块管理资源
2020/03/05 Python
使用python+poco+夜神模拟器进行自动化测试实例
2020/04/23 Python
Python unittest生成测试报告过程解析
2020/09/08 Python
Gap中国官网:美式休闲风服饰
2017/02/05 全球购物
帕克纽约:PARKER NY
2018/12/09 全球购物
雷朋巴西官方商店:Ray-Ban Brasil
2020/07/21 全球购物
计算机专业应届毕业生自荐信
2013/09/26 职场文书
初中生学习生活的自我评价
2013/11/20 职场文书
个人委托书范本
2014/09/13 职场文书
国际贸易实训报告
2014/11/05 职场文书
北京英语导游词
2015/02/12 职场文书
2015年幼儿园国庆节活动总结
2015/07/30 职场文书
2016新教师培训心得体会范文
2016/01/08 职场文书
建国70周年的心得体会(2篇)
2019/09/20 职场文书
SQL 聚合、分组和排序
2021/11/11 MySQL
MySql按时,天,周,月进行数据统计
2022/08/14 MySQL