`
ayue222
  • 浏览: 48038 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

JS 中给方法绑定context

阅读更多
JS开发中,经常会遇到在执行一个函数时,需要设定该函数的context。比如,在使用window.setInterval(func, 1000)时,很多时候需要提供func函数的执行环境,这里是一个解决方案的例子,如下:


var bind = function(obj, func){   
    return function(){   
        func.apply(obj,arguments);   
    };   
};   
var Module = {};   
Module.test = function(){   
    this.num = 0;   
    this.init();   
};   
Module.test.prototype = {   
    init:function(){   
        setInterval(bind(this, this.add), 1000);   
    },   
    add:function(){   
        alert(this.num++);   
    }   
};   
new Module.test();   
分享到:
评论

相关推荐

    blast.js:Blast 是一个用 JavaScript 编写的小巧而强大的双向数据绑定框架

    Blast 是一个用 JavaScript 编写的小巧而强大的双向数据绑定框架 它支持: 视图模型和 DOM 之间的双向数据绑定 将您的模型序列化为 JSON 绑定对任意事件(keyup、change 等)的更改 观察已经存在的 javascript ...

    用于编写安全快速的原生 Node.js 模块的 Rust 绑定。

    用于编写安全快速的原生 Node.js 模块的 Rust 绑定。入门安装平台依赖项后,入门非常简单:$ npm install -g neon-cli $ neon new my-project然后查看Hello World 指南,以在 Neon 中编写您的第一个 Hello World!...

    javascript bind绑定函数代码

    具体结论可参见《javascript下动态this与动态绑定实例代码》。本文专注设计一个无侵入的绑定函数。 [Ctrl+A 全选 注:如需引入外部Js需刷新才能执行]基于不扩展原生对象的原则,弄了这个bind函数(dom为作用域),...

    javascript下动态this与动态绑定实例代码

    不过,函数声明后,其实并没有绑定到任何对象,因此我们可以用call apply这些方法设置调用者。 一个简单的例子: [script] [removed] window.name = “window”; var run = function() { alert(“My name is ” ...

    react-formular:这个天秤座是使用新的React Context API将表单及其输入和编辑器绑定在一起的实验方法。 它旨在完全可定制和可组合。 它只是一组高阶组件。 由于具有分离性质,因此中间件使构建自定义验证,安全卫士和其他数据拦截器变得容易

    React形式 这个天秤座是使用新的React Context API将表单及其输入和编辑器绑定在一起的实验方法。 它旨在完全可定制和可组合。 它只是一组高阶组件。 由于具有分离性质,因此使构建自定义验证,安全卫士和其他数据...

    图文详解Javascript中的上下文和作用域

    执行上下文(简称上下文)决定了Js执行过程中可以获取哪些变量、函数、数据,一段程序可能被分割成许多不同的上下文,每一个上下文都会绑定一个变量对象(variable object),它就像一个容器,用来存储当前上下文中...

    Javascript.Net:.Net绑定到V8 JavaScript引擎

    例子// Initialize a contextusing (JavascriptContext context = new JavascriptContext()) { // Setting external parameters for the context context.SetParameter("console", new SystemConsole()); context....

    Angular数据绑定机制原理

    标签里输入字符之后,这个事件的回调函数在JS解释器中执行了其包含的DOM操作,执行完毕后,浏览器响应地对DOM做出了变化。Angular拓展了这个事件循环,使它有时候成为angular context 的执行环境。 2.$watch list $...

    ajaxfileupload.js

    1.调用createUploadForm,此方法中增加了change参数,此参数用户给新生成的input-file元素绑定change事件,如果不需要可以不加此参数。 2.要上传的input-file元素,建议放id和name属性,而且这两个属性值要保持一致 ...

    duktape.rb:Ruby与Duktape JavaScript解释器的绑定

    Duktape.rb是 JavaScript解释器的C扩展。 快速开始 $ rake $ ruby example.rb 用法 require 'duktape' # Create a new context ctx = Duktape :: Context . new ## Evaluate a string p ctx . eval_string ( '1 + 1...

    深入理解JS中的Function.prototype.bind()方法

    对于函数绑定(Function binding)很有可能是大家在使用JavaScript时最少关注的一点,但是当你意识到你需要一个解决方案来解决如何在另一个函数中保持this上下文的时候,你真正需要的其实就是 Function.prototype.bind...

    quickjs:绑定到QuickJS

    quickjs转到绑定:一个快速,小型且可嵌入的 JavaScript解释器。这些绑定是一个WIP,尽管公开了足够多的可用功能,但它们并不与QuickJS的API完全匹配。这些绑定所绑定的QuickJS版本可能位于。这些绑定已经过测试,...

    create-context-hook:创建上下文绑定React钩子的简单实用程序

    创建上下文绑定React钩子的简单实用程序。 安装 npm install --save @kensie/create-context-hook 用法 import * as React from 'react' import { createContextHook } from '@kensie/create-context-hook' const ...

    霓虹灯:Rust绑定,用于编写安全,快速的本机Node.js模块

    用于编写安全快速的本机Node.js模块的Rust绑定。入门一旦安装了 ,开始就很简单: $ npm install -g neon-cli$ neon new my-project然后,请参阅以在Neon中编写您的第一个Hello World!文件请参阅我们的和。平台支援...

    cljs-webgl:WebGL绑定到ClojureScript

    通过在可能的情况下隐藏可变性并将每个Javascript值包装在ClojureScript构造中,创建一个库,以允许更方便的功能样式在ClojureScript中创建WebGL应用程序。 例子 下面的程序可以在第一个建筑物中运行: $ lein ...

    jQuery详细教程

    如果您的网站包含许多页面,并且您希望您的 jQuery 函数易于维护,那么请把您的 jQuery 函数放到独立的 .js 文件中。 当我们在教程中演示 jQuery 时,会将函数直接添加到 <head> 部分中。不过,把它们放到一个单独的...

    javascript之bind使用介绍

    首先apply和call是老生常谈的东西,但是对于bind,我愣了下,因为这个词是jquery中使用频率很高的一个方法,用来给DOM元素绑定事件用的。 为了搞清这个陌生又熟悉的bind,google一下,发现javascript1.8.5版本中...

    memoarray:一个简单的javascript实用程序,用于数组绑定备忘录

    一个简单的javascript实用程序,用于数组绑定备注。 它是基于的动机,并且基于,并且希望减少提供数组prop时由于prop样式更改而引起的不必要的重新渲染。 使用npm install memoarray或yarn add memoarray npm ...

    weakbind:记忆绑定提高性能

    这在React中特别有用,在React中您将回调传递到树下并创建一个新实例会使您的shouldComponentUpdate检查无效。 它是如何工作的? 内部使用二维WeakMap ,其中第一级键是函数,第二级键是上下文。 这意味着它不需要...

    Knockout Context Hover-crx插件

    KnockoutJS Context Hover-Knockout JS的开发和调试助手。 经过测试:3.4.2、3.1.0、2.2.1 Knockout JS的开发和调试助手https://github.com/alexcodito/KnockoutContextHover-显示悬停的元素的KnockoutJS上下文,...

Global site tag (gtag.js) - Google Analytics