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 相关文章推荐
解决FLASH需要点击激活的代码
Dec 20 Javascript
Javascript继承(上)——对象构建介绍
Nov 08 Javascript
javascript分页代码实例分享(js分页)
Dec 13 Javascript
jquery dialog open后,服务器端控件失效的快速解决方法
Dec 19 Javascript
js获取视频时长代码
Apr 10 Javascript
基于AngularJS前端云组件最佳实践
Oct 20 Javascript
jquery设置css样式的多种方法(总结)
Feb 21 Javascript
基于JavaScript实现评论框展开和隐藏功能
Aug 25 Javascript
写一个移动端惯性滑动&amp;回弹Vue导航栏组件 ly-tab
Mar 06 Javascript
详解如何webpack使用DllPlugin
Sep 30 Javascript
express框架下使用session的方法
Jul 31 Javascript
js实现全选和全不选功能
Jul 28 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
页面乱码问题的根源及其分析
2013/08/09 PHP
PHP取余函数介绍MOD(x,y)与x%y
2014/05/15 PHP
thinkphp连贯操作实例分析
2014/11/22 PHP
php购物车实现方法
2015/01/03 PHP
支持png透明图片的php生成缩略图类分享
2015/02/08 PHP
Laravel 5框架学习之用户认证
2015/04/09 PHP
PHP异常处理定义与使用方法分析
2017/07/25 PHP
js函数模拟显示桌面.scf程序示例
2014/04/20 Javascript
用JavaScript实现一个代码简洁、逻辑不复杂的多级树
2014/05/23 Javascript
jQuery中ajax的post()方法用法实例
2014/12/26 Javascript
CheckBox多选取值及判断CheckBox选中是否为空的实例
2017/10/31 Javascript
angularjs实现table增加tr的方法
2018/02/27 Javascript
基于vue开发微信小程序mpvue-docs跳转页面功能
2019/04/10 Javascript
如何实现双向绑定mvvm的原理实现
2019/05/28 Javascript
axios如何取消重复无用的请求详解
2019/12/15 Javascript
[01:08:17]2018DOTA2亚洲邀请赛3月29日 小组赛B组 EG VS VGJ.T
2018/03/30 DOTA
python脚本设置超时机制系统时间的方法
2016/02/21 Python
详解使用 pyenv 管理多个版本 python 环境
2017/10/19 Python
python bmp转换为jpg 并删除原图的方法
2018/10/25 Python
Python multiprocessing多进程原理与应用示例
2019/02/28 Python
python pytest进阶之fixture详解
2019/06/27 Python
pytorch的梯度计算以及backward方法详解
2020/01/10 Python
django配置app中的静态文件步骤
2020/03/27 Python
python 已知三条边求三角形的角度案例
2020/04/12 Python
通过代码实例了解Python异常本质
2020/09/16 Python
CSS3实现头像旋转效果
2017/03/13 HTML / CSS
CSS3实现渐变背景兼容问题
2020/05/06 HTML / CSS
涂鸦板简单实现 Html5编写属于自己的画画板
2016/07/05 HTML / CSS
html5 touch事件实现页面上下滑动效果【附代码】
2016/03/10 HTML / CSS
柒牌官方商城:中国男装优秀品牌
2017/06/30 全球购物
挂职思想汇报
2013/12/31 职场文书
岗位明星事迹材料
2014/05/18 职场文书
租房协议书
2014/09/12 职场文书
2015年学校总务工作总结
2015/07/20 职场文书
python引入其他文件夹下的py文件具体方法
2021/05/23 Python
Android开发实现极为简单的QQ登录页面
2022/04/24 Java/Android