mootool这个类oo型的S框架果然强大!其中的function类有一个方法叫bind,这东西太方便了!怎样方便,请看以下代码:
<div id="element">mootool要变我颜色了!</div>
var e=$('element');
function ChangeColor(){
this.setStyle('background','red');
}
var ChangeColorBind=ChangeColor.bind(e);
//这样ChangeColor函数里面的this就被e元素替换了!
ChangeColorBind();
也许这里你还没看见这个有多方便方便,但是涉及到嵌套函数的时候你就知道它有多强大了!
分享到:
相关推荐
c++11引入了std::bind及std::function,实现了函数的存储和绑定,即先将可调用的对象保存起来,在需要的时候再调用。定义了SignalObject信号类和SlotObject槽类,其中信号类中的 std::function(int)> _call就是要...
定义一个普通的类 class Test1{ public: void fun(int val){ cout<<hello> pf = std::bind(&Test1::fun,t,2); pf(4); // return 0; } 输出的值是2,说明pf传进去的4并没有什么用,在bind的时候值已经绑定死...
### JQuery详解:jQuery的bind方法 #### 一、概述 jQuery 的 `bind()` 方法是用于在元素上绑定事件处理程序的一种方式。与原生 JavaScript 的事件绑定相比,`bind()` 提供了更多灵活性和便捷性。它允许开发者指定...
在JavaScript中,`Function.prototype.bind` 是一个非常重要的方法,它允许我们设置函数的上下文(即`this`关键字的值)以及预定义函数的参数。然而,这个特性在较老的浏览器版本中,如IE8,并未得到原生支持。为了...
C++里面的function是一个非常奇妙的东西,但是你想过他是如何实现的吗?作者在深刻理解了其中奥妙之后写就的精简版本。而且可以避免STL里面的function无法和Socket编程一起使用的问题——bind会无法正确解析。
实现了标准库中的function和bind以及智能指针,linux/windows通用。由于公司GCC版本较老,嵌入式的gcc也无法由我来控制,windows上使用的一些类似智能指针,在linux上无法使用,甚是不爽,于是自己手动写了一份,...
### Function.prototype.bind 方法 #### 1. Function.prototype.bind 方法概念 Function.prototype.bind() 是 JavaScript 中的一个方法,用于创建一个新的函数,该函数将被绑定到指定的 this 上,以及初始参数传递...
std::function是一个模板类,它能够封装任何可以调用的实体,如函数、函数指针、成员函数指针、functor等,提供了一种类型安全的方式来存储和调用可调用对象。它允许我们将不同类型的可调用对象赋值给同一个std::...
但是当你意识到你需要一个解决方案来解决如何在另一个函数中保持this上下文的时候,你真正需要的其实就是 Function.prototype.bind() ,只是你有可能仍然没有意识到这点。 第一次遇到这个问题的时候,你可能倾向于将...
JavaScript中的`Function.prototype.bind`方法是一个非常重要的特性,它允许我们创建一个新的函数,新函数的`this`值被绑定到了传入`bind`方法的第一个参数。这种方法特别有用,尤其是在处理事件处理程序、模块化...
在IT领域,Boost库是一个非常重要的C++工具集,它为C++标准库提供了许多扩展功能,其中`bind`和`function`是两个非常实用的工具。本文将深入探讨这两个概念以及如何在消息处理框架中使用它们。 首先,让我们了解`...
JS中的call、apply、bind方法详解 随着JavaScript的发展,函数调用对象的改变变得越来越重要。在JavaScript中,call、apply、bind三个方法都是函数对象的方法,它们的作用都是改变函数的调用对象。下面,我们将详细...
这段代码首先检查`bind`方法是否在`Function.prototype`上存在。如果存在,直接使用原生的`bind`。如果不存在,它创建一个新的函数,当被调用时,`_this`(保存的原始函数引用)会应用到`context`上,并与新函数的`...
1.call/apply/bind方法的来源 2.Function.prototype.call() 3.Function.prototype.apply() 3.1:找出数组中的最大数 3.2:将数组的空元素变为undefined 3.3:转换类似数组的对象 4.Function.prototype.bind() ...
我们还是看看栗子比较好理解,举个bind()最基本的使用方法: this.x = 9; var module = { x: 81, getX: function() { return this.x; } }; module.getX(); // 返回 81 var retrieveX = module.get
std::function 可以绑定到全局函数、类静态成员函数或 lambda 表达式,而 std::bind 只能绑定到类的非静态成员函数。 在示例代码中,我们可以看到 CC_CALLBACK 系列的定义是基于 std::bind 的,用于将成员函数绑定...
### Javascript中bind方法的理解与实现 #### 1. bind方法的基本概念 JavaScript中的`bind`方法是一个重要的函数方法,它可以用来创建一个新的函数,并且在新函数被调用时,可以指定这个新函数的`this`关键字绑定到...
为了控制函数的this指向,JavaScript提供了apply、call以及bind方法。以下详细解释了apply、call以及bind的用法,并通过实例加深理解。 1. apply()和call()方法 apply()和call()方法都用于指定函数体内this的值。...