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 相关文章推荐
百度地图自定义控件分享
Mar 04 Javascript
简介JavaScript中toTimeString()方法的使用
Jun 12 Javascript
JS实现隐藏同级元素后只显示JS文件内容的方法
Sep 04 Javascript
微信公众号 摇一摇周边功能开发
Dec 08 Javascript
用javascript获取任意颜色的更亮或更暗颜色值示例代码
Jul 21 Javascript
ES6中字符串string常用的新增方法小结
Nov 07 Javascript
axios全局请求参数设置,请求及返回拦截器的方法
Mar 05 Javascript
js实现简单选项卡功能
Mar 23 Javascript
Vue 2.0 侦听器 watch属性代码详解
Jun 19 Javascript
layer扩展打开/关闭动画的方法
Sep 23 Javascript
React.js组件实现拖拽排序组件功能过程解析
Apr 27 Javascript
JavaScript 几种循环方式以及模块化的总结
Sep 03 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
实战mysql导出中文乱码及phpmyadmin导入中文乱码的解决方法
2010/06/11 PHP
PHP会话处理的10个函数
2015/08/11 PHP
网页的标准,IMG不支持onload标签怎么办
2006/06/29 Javascript
用js判断浏览器是否是IE的比较好的办法
2007/05/08 Javascript
JavaScript 变量命名规则
2009/09/23 Javascript
获取服务器传来的数据 用JS去空格的正则表达式
2012/03/26 Javascript
探讨JavaScript中声明全局变量三种方式的异同
2013/12/03 Javascript
理运用命名空间让js不产生冲突避免全局变量的泛滥
2014/06/15 Javascript
js动态生成Html元素实现Post操作(createElement)
2015/09/14 Javascript
JavaScript实现给定时间相加天数的方法
2016/01/25 Javascript
JavaScript中文件上传API详解
2016/04/01 Javascript
jQuery插件AjaxFileUpload实现ajax文件上传
2016/05/05 Javascript
第六篇Bootstrap表格样式介绍
2016/06/21 Javascript
Bootstrap CSS组件之下拉菜单(dropdown)
2016/12/17 Javascript
强大的 Angular 表单验证功能详细介绍
2017/05/23 Javascript
JavaScript实现带有子菜单和控件的slider轮播图效果
2017/11/01 Javascript
浅谈Node框架接入ELK实践总结
2019/02/22 Javascript
使用React手写一个对话框或模态框的方法示例
2019/04/25 Javascript
在layui tab控件中载入外部html页面的方法
2019/09/04 Javascript
基于vue实现简易打地鼠游戏
2020/08/21 Javascript
跟老齐学Python之再深点,更懂list
2014/09/20 Python
浅析Python中将单词首字母大写的capitalize()方法
2015/05/18 Python
Python对数据库操作
2016/03/28 Python
python、java等哪一门编程语言适合人工智能?
2017/11/13 Python
Python实现简单生成验证码功能【基于random模块】
2018/02/10 Python
python的scikit-learn将特征转成one-hot特征的方法
2018/07/10 Python
Python流程控制 while循环实现解析
2019/09/02 Python
详解pytorch中squeeze()和unsqueeze()函数介绍
2020/09/03 Python
Pyqt助手安装PyQt5帮助文档过程图解
2020/11/20 Python
Python应用自动化部署工具Fabric原理及使用解析
2020/11/30 Python
Sarenza德国:法国最大的时尚鞋和包包网上商店
2019/06/08 全球购物
生产厂厂长岗位职责
2013/12/25 职场文书
小学生暑假感言
2014/02/06 职场文书
2016教师读书思廉心得体会
2016/01/23 职场文书
合作协议书格式范本
2016/03/21 职场文书
python中redis包操作数据库的教程
2022/04/19 Python