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 相关文章推荐
js不是基础的基础
Dec 24 Javascript
jQuery 常见操作实现方式和常用函数方法总结
May 06 Javascript
jquery ajax jsonp跨域调用实例代码
Dec 11 Javascript
jQuery实现信息提示框(带有圆角框与动画)效果
Aug 07 Javascript
jQuery实现指定内容滚动同时左侧或其它地方不滚动的方法
Aug 08 Javascript
基于JS如何实现给字符加千分符(65,541,694,158)
Aug 03 Javascript
JS监听微信、支付宝等移动app及浏览器的返回、后退、上一页按钮的事件方法
Aug 05 Javascript
简单的vue-resourse获取json并应用到模板示例
Feb 10 Javascript
解决bootstrap中下拉菜单点击后不关闭的问题
Aug 10 Javascript
Node.js连接Sql Server 2008及数据层封装详解
Aug 27 Javascript
详解Element 指令clickoutside源码分析
Feb 15 Javascript
如何检查一个对象是否为空
Apr 11 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 swfupload图片上传的实例代码
2013/09/30 PHP
js技巧--转义符&quot;\&quot;的妙用
2007/01/09 Javascript
javascript学习基础笔记之DOM对象操作
2011/11/03 Javascript
jquery实现微博文字输入框 输入时显示输入字数 效果实现
2013/07/12 Javascript
子窗体与父窗体传值示例js代码
2013/08/01 Javascript
如何使用Jquery获取Form表单中被选中的radio值
2013/08/09 Javascript
Jquery使用Firefox FireBug插件调试Ajax步骤讲解
2013/12/02 Javascript
动态添加删除表格行的js实现代码
2014/02/28 Javascript
一个JavaScript获取元素当前高度的实例
2014/10/29 Javascript
关于javascript模块加载技术的一些思考
2014/11/28 Javascript
ECMAScript5(ES5)中bind方法使用小结
2015/05/07 Javascript
百度地图api如何使用
2015/08/03 Javascript
JS实现仿QQ面板的手风琴效果折叠菜单代码
2015/09/11 Javascript
浅谈webpack-dev-server的配置和使用
2018/05/17 Javascript
Vue监听数据渲染DOM完以后执行某个函数详解
2018/09/11 Javascript
jquery实现动态添加附件功能
2018/10/23 jQuery
JS一次前端面试经历记录
2020/03/19 Javascript
Vue中正确使用Element-UI组件的方法实例
2020/10/13 Javascript
jquery插件实现轮播图效果
2020/10/19 jQuery
Python的设计模式编程入门指南
2015/04/02 Python
浅谈python中的__init__、__new__和__call__方法
2017/07/18 Python
Python读csv文件去掉一列后再写入新的文件实例
2017/12/28 Python
python批量下载抖音视频
2019/06/17 Python
用python做游戏的细节详解
2019/06/25 Python
解决pycharm上的jupyter notebook端口被占用问题
2019/12/17 Python
Pytorch之保存读取模型实例
2019/12/30 Python
Python编写memcached启动脚本代码实例
2020/08/14 Python
CSS3图片旋转特效(360/60/-360度)
2013/10/10 HTML / CSS
使用canvas绘制超炫时钟
2014/12/17 HTML / CSS
《北京的春节》教学反思
2014/04/07 职场文书
教师自我剖析材料(四风问题)
2014/09/30 职场文书
2015年工程师工作总结
2015/04/30 职场文书
2015年办税服务厅工作总结
2015/07/23 职场文书
2016年班主任培训心得体会
2016/01/07 职场文书
MySQL主从搭建(多主一从)的实现思路与步骤
2021/05/13 MySQL
使用Pytorch训练two-head网络的操作
2021/05/28 Python