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支持clearAttributes/mergeAttributes方法使用介绍
May 04 Javascript
JavaScript常用全局属性与方法记录积累
Jul 03 Javascript
JS实现超炫网页烟花动画效果的方法
Mar 02 Javascript
JavaScript中逗号运算符介绍及使用示例
Mar 13 Javascript
点击按钮出现60秒倒计时的简单js代码(推荐)
Jun 07 Javascript
JavaScript每天必学之基础知识
Sep 17 Javascript
bootstrap中的 form表单属性role=&quot;form&quot;的作用详解
Jan 20 Javascript
jquery replace方法去空格
May 08 jQuery
基于JS实现限时抢购倒计时间表代码
May 09 Javascript
jQuery实现判断上传图片类型和大小的方法示例
Apr 11 jQuery
jQuery中的类名选择器(.class)用法简单示例
May 14 jQuery
webpack4 optimization使用总结
Nov 10 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
PHP图片处理之图片背景、画布操作
2014/11/19 PHP
PHP的中使用非缓冲模式查询数据库的方法
2017/02/05 PHP
一实用的实现table排序的Javascript类库
2007/09/12 Javascript
Tab页界面,用jQuery及Ajax技术实现
2009/09/21 Javascript
基于JQuery的数字改变的动画效果--可用来做计数器
2010/08/11 Javascript
JS事件在IE与FF中的区别详细解析
2013/11/20 Javascript
js AppendChild与insertBefore用法详细对比
2013/12/16 Javascript
深入理解JSON数据源格式
2014/01/10 Javascript
jQuery实现的经典滑动门效果
2015/09/22 Javascript
js仿腾讯QQ的web登陆界面
2016/08/19 Javascript
jQuery tagsinput在h5邮件客户端中应用详解
2016/09/26 Javascript
移动端网页开发调试神器Eruda的介绍与使用技巧
2017/10/30 Javascript
vue进入页面时不在顶部,检测滚动返回顶部按钮问题及解决方法
2019/10/30 Javascript
nodejs实现的http、https 请求封装操作示例
2020/02/06 NodeJs
[01:19]2014DOTA2国际邀请赛 采访TITAN战队ohaiyo 能赢DK很幸运
2014/07/12 DOTA
python迭代器实例简析
2014/09/25 Python
Python中装饰器的一个妙用
2015/02/08 Python
详解python 字符串和日期之间转换 StringAndDate
2017/05/04 Python
Python3 利用requests 库进行post携带账号密码请求数据的方法
2018/10/26 Python
深入了解Python iter() 方法的用法
2019/07/11 Python
python 项目目录结构设置
2020/02/14 Python
基于Python脚本实现邮件报警功能
2020/05/20 Python
详解Python多线程下的list
2020/07/03 Python
如何使用Python自动生成报表并以邮件发送
2020/10/15 Python
matplotlib运行时配置(Runtime Configuration,rc)参数rcParams解析
2021/01/05 Python
应届生求职推荐信
2013/10/28 职场文书
财务管理专业推荐信
2013/11/19 职场文书
代理商会议邀请函
2014/01/27 职场文书
临床护士自荐信
2014/01/31 职场文书
办公室综合文员岗位职责范本
2014/02/13 职场文书
工作过失检讨书
2014/02/23 职场文书
付款委托书范本
2014/04/04 职场文书
辞旧迎新演讲稿
2014/09/15 职场文书
2015元旦联欢晚会结束语
2014/12/14 职场文书
实施意见格式范本
2015/06/05 职场文书
2015-2016年小学教导工作总结
2015/07/21 职场文书