Function.prototype.bind用法示例

 更新时间:2013年09月16日 10:16:45   作者:  
想必大家对Function.prototype.bind并不陌生吧,下面为大家介绍下它的简单调用及DOM调用,感兴趣的朋友可以参考下
复制代码 代码如下:

//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代码

    返回上一页并自动刷新的JavaScript代码

    返回上一页并自动刷新,JavaScript一般的使用history.go(-1)和history.back()等,需要的朋友可以参考下
    2014-02-02
  • javascript操作向表格中动态加载数据

    javascript操作向表格中动态加载数据

    这篇文章主要为大家详细介绍了javascript操作向表格中动态加载数据,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2020-08-08
  • location.search在客户端获取Url参数的方法

    location.search在客户端获取Url参数的方法

    最近一直在写html,刚接触到,感觉挺复杂的。。比如传参,在.net里可以直接用Request接受,而在html中还要经过处理,找了一些资料,写了个方法。
    2010-06-06
  • 详解JavaScript如何实现一个简易的Promise对象

    详解JavaScript如何实现一个简易的Promise对象

    Promise对象的作用将异步操作以同步操作的流程表达出来,避免层层嵌套的回调函数,而且Promise提供了统一的接口,使得控制异步操作更加容易。本文介绍了如何实现一个简单的Promise对象,需要的可以参考一下
    2022-11-11
  • 微信小程序中限制激励式视频广告位显示次数(实现思路)

    微信小程序中限制激励式视频广告位显示次数(实现思路)

    本文给大家分享微信小程序中限制激励式视频广告位显示次数,本文通过实例代码来说明,感兴趣的朋友跟随小编一起看看吧
    2019-12-12
  • 微信小程序动态添加和删除组件的现实

    微信小程序动态添加和删除组件的现实

    这篇文章主要介绍了微信小程序动态添加和删除组件的现实,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-02-02
  • 关于Javascript中值得学习的特性总结

    关于Javascript中值得学习的特性总结

    本文主要介绍了一些Javascript中值得学习的特性,可选链操作符,空值合并运算符,Promise.allSettled(),BigInt类型等特性,文中有详细的代码示例介绍这些特性,感兴趣的可以参考下
    2023-05-05
  • 微信小程序实现日期格式化

    微信小程序实现日期格式化

    这篇文章主要为大家详细介绍了微信小程序实现日期格式化,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2022-07-07
  • JavaScript中的alert()函数使用技巧详解

    JavaScript中的alert()函数使用技巧详解

    这篇文章主要介绍了JavaScript中的alert()函数使用技巧详解,本文讲解了普通弹出、带换行的文本、使用制表符、使用变量、使用样式等选择,需要的朋友可以参考下
    2014-12-12
  • javascript使用正则控制input输入框允许输入的值方法大全

    javascript使用正则控制input输入框允许输入的值方法大全

    在做项目的时候,我们经常会遇到控制input输入框允许输入的值为数字,字母,汉字或者混排的情况,那么我们怎么来处理呢,下面我们就来探讨怎么通过用javascript正则来实现
    2014-06-06

最新评论