javascript bind绑定函数代码

 更新时间:2010年01月05日 13:58:02   作者:  
bind函数,顾名思义,用于为调用函数绑定一个作用域,因为this很容易跟丢它原来所在的作用域,直接指向顶层的window对象。
具体结论可参见《javascript下动态this与动态绑定实例代码》。本文专注设计一个无侵入的绑定函数。

[Ctrl+A 全选 注:引入外部Js需再刷新一下页面才能执行]

基于不扩展原生对象的原则,弄了这个bind函数(dom为作用域),用法与Prototype框架的bind差不多。
复制代码 代码如下:

dom.bind = function(fn,context){
//第二个参数如果你喜欢的话,也可以改为thisObject,scope,
//总之,是一个新的作用域对象
if (arguments.length < 2 && context===undefined) return fn;
var method = fn,
slice = Array.prototype.slice,
args = slice.call(arguments, 2) ;
return function(){//这里传入原fn的参数
var array = slice.call(arguments, 0);
method.apply(context,args.concat(array))
}

用法:第一个参数为需要绑定作用域的函数,第二个为window或各种对象,其他参数随意。

[Ctrl+A 全选 注:引入外部Js需再刷新一下页面才能执行]

另一个例子:

[Ctrl+A 全选 注:引入外部Js需再刷新一下页面才能执行]

相关文章

  • 一文搞懂JavaScript中bind,apply,call的实现

    一文搞懂JavaScript中bind,apply,call的实现

    bind、call和apply都是Function原型链上面的方法,因此不管是使用function声明的函数,还是箭头函数都可以直接调用。本文就带你看看如何实现bind、call和apply
    2022-06-06
  • js+html制作简单验证码

    js+html制作简单验证码

    这篇文章主要为大家详细介绍了js结合html制作简单验证码的相关资料,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2017-02-02
  • 使用typescript+webpack构建一个js库的示例详解

    使用typescript+webpack构建一个js库的示例详解

    这篇文章主要介绍了typescript+webpack构建一个js库,本文主要记录使用typescript配合webpack打包一个javascript library的配置过程,需要的朋友可以参考下
    2022-07-07
  • JavaScript中reduce()的用法实例

    JavaScript中reduce()的用法实例

    reduce()方法接收一个函数作为累加器(accumulator),数组中的每个值(从左到右)开始缩减,最终为一个值,下面这篇文章主要给大家介绍了关于JavaScript中reduce()的用法实例,需要的朋友可以参考下
    2022-05-05
  • 实现web打印的各种方法介绍及实现代码

    实现web打印的各种方法介绍及实现代码

    web的打印方法具我自己懂得知道的有:JQuery插件Jqprint实现;JQery打印插件PrintArea实现网页打印;CSS控制网页打印样式,本文详细介绍实现步骤,感兴趣的朋友可以了解下
    2013-01-01
  • 使用JS实现在空白页上展示出一个有趣的时钟

    使用JS实现在空白页上展示出一个有趣的时钟

    在我们日常的网页浏览中,空白的页面往往会被视为一种无趣的事物,一片等待填充的空间,今天我们来学习一下如何使用JS在空白的网页上展示出一个有趣的时钟吧,感兴趣的小伙伴跟着小编一起来看看吧
    2024-04-04
  • HTTP 302 redirect应用及介绍

    HTTP 302 redirect应用及介绍

    这篇文章主要为大家介绍了HTTP 302 redirect应用及作用详解,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2023-12-12
  • JS 页面内容搜索,类似于 Ctrl+F功能的实现代码

    JS 页面内容搜索,类似于 Ctrl+F功能的实现代码

    JS 页面内容搜索,类似于 Ctrl+F功能的实现代码...
    2007-08-08
  • 论JavaScript模块化编程

    论JavaScript模块化编程

    这篇文章主要介绍了论JavaScript模块化编程,感兴趣的小伙伴们可以参考一下
    2016-03-03
  • 微信小程序开发之好友列表字母列表跳转对应位置

    微信小程序开发之好友列表字母列表跳转对应位置

    这篇文章主要介绍了微信小程序开发之好友列表字母列表跳转对应位置的相关资料,希望通过本文能帮助到大家让大家实现这样的功能,需要的朋友可以参考下
    2017-09-09

最新评论