`
rockyuse
  • 浏览: 192135 次
  • 性别: Icon_minigender_1
  • 来自: 成都
社区版块
存档分类
最新评论

Functionbind

 
阅读更多
Function.prototype.bind = function () {
	var __method = this;

	var args = Array.prototype.slice.call(arguments);
	var object = args.shift();
	return function () {
		__method.apply(object, args.concat(Array.prototype.slice.call(arguments)));
	}
}

var obj = {
	name: 'franky'
},
fn = function (a, b, c, d, e) {
	console.log([this.name, a, b, c, d, e]);
}.bind(obj, 1, 2, 3)

fn(4, 5); // franky,1,2,3,4,5

 

分享到:
评论

相关推荐

    关于Function中的bind()示例详解

    前言 bind()接受无数个参数,第一个参数是它生成的新函数的this指向,比如我传个window,不管它在何处调用,这个新... getX: function() { return this.x; } }; module.getX(); // 返回 81 var retrieveX = module.get

    C++中使用function和bind绑定类成员函数的方法详解

    <hello> pf = std::bind(&Test1::fun,t,2); pf(4); // return 0; } 输出的值是2,说明pf传进去的4并没有什么用,在bind的时候值已经绑定死了,但是pf()这样不给参数会报错。 如果我们想自定义参数,使用占位符,...

    C++ STL 内 std::{bind/tuple/function} 简单实现

    首先是实现 function,这个比较简单,重载 operator() 就好,这里只实现对函数指针的包装 其次是实现 tuple,这个会比较绕,通过模板取第一个参数,然后用剩下的参数继续生成 tuple并继承,是一种递归的思想 有了 ...

    C++中function和bind是如何实现的

    C++里面的function是一个非常奇妙的东西,但是你想过他是如何实现的吗?作者在深刻理解了其中奥妙之后写就的精简版本。而且可以避免STL里面的function无法和Socket编程一起使用的问题——bind会无法正确解析。

    ES6中javascript实现函数绑定及类的事件绑定功能详解

    但是,箭头函数并不适用于所有场合,所以 ES7 提出了 “ 函数绑定 ” ( function bind )运算符,用来取代call、apply、bind调用。虽然该语法还是 ES7 的一个提案,但是 Babel 转码器已经支持。 函数绑定运算符是...

    实现了类似std::function /bind /shared_ptr功能

    实现了标准库中的function和bind以及智能指针,linux/windows通用。由于公司GCC版本较老,嵌入式的gcc也无法由我来控制,windows上使用的一些类似智能指针,在linux上无法使用,甚是不爽,于是自己手动写了一份,...

    基于boost的bind与function的消息处理框架

    算是一个消息处理框架吧,用于说函数对象function与bind的基本用法; 比较适合入门boost的function与bind的基本用法

    js学习总结之DOM2兼容处理this问题的解决方法

    针对上一篇提到的DOM2级存在的兼容问题,这里先说一下this的问题。...function bind(curEle,evenType,evenFn){ if('addEventListener' in document){ curEle.addEventListener(evenType,evenFn,false); return;

    data.monad:单子结构

    interface M < T> { // return function unit < T> (value: T): M < T> { } // >>= function bind < T> (instance: M < T> , transform: (value: T) = > M < U> ): M < U> { }} 绑定(单位(x),f)== f(x) 绑定...

    原生js事件的添加和删除的封装

    在IE浏览器中添加或删除事件用attachEvent、detachEvent。在其他标准浏览器中则用addEventListener、removeEventListener...function bind(target, type, func) { if (target.addEventListener) {// 非ie 和ie9 target.

    js学习总结之DOM2兼容处理顺序问题的解决方法

    DOM2兼容处理顺序问题的解决方法,具体如下 解决顺序问题:我们不用浏览器自带的事件池了,而是自己模拟...function bind(curEle,evenType,evenFn){ if('addEventListener' in document){ curEle.addEventListener

    js学习总结之DOM2兼容处理重复问题的解决方法

    DOM2兼容处理重复问题的解决方法,具体如下 在解决this问题之后,只需要在每次往自定义属性和事件池当中添加事件的时候进行...function bind(curEle,evenType,evenFn){ if('addEventListener' in document){ curEle

    node-monad:使用和声生成器的 Node.js Monads

    节点单子 使用和声生成器的 Node....} , function bind ( value , func ) { return ( value === NOTHING ) ? value : func ( null , value . just ) ; } ) ; 您可以在类似 do-notation 的样式中使用它: // helper

    php生成shtml类用法实例

    分享给大家供大家参考。具体如下: 复制代码 代码如下:<?... class Shtml{ ... function BindData($arr){  $this->DataSource = $arr;  }    function Create(){  //只谈思路:  $tmp = $this->Te

    C++ function、bind以及lamda表达式

    本文是C++0x系列的第四篇,主要是内容是C++0x中新增的lambda表达式, function对象和bind机制。之所以把这三块放在一起讲,是因为这三块之间有着非常密切的关系,通过对比学习,加深对这部分内容的理解。在开始之间...

    通过c++11的std::bind及std::function实现类方法回调,模拟Qt实现信号槽

    c++11引入了std::bind及std::function,实现了函数的存储和绑定,即先将可调用的对象保存起来,在需要的时候再调用。定义了SignalObject信号类和SlotObject槽类,其中信号类中的 std::function(int)> _call就是要...

    理解javascript中的Function.prototype.bind的方法

    主要介绍了理解javascript中的Function.prototype.bind的方法,具有一定参考价值,有兴趣的可以了解一下。

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

    但是当你意识到你需要一个解决方案来解决如何在另一个函数中保持this上下文的时候,你真正需要的其实就是 Function.prototype.bind() ,只是你有可能仍然没有意识到这点。 第一次遇到这个问题的时候,你可能倾向于将...

    让IE8浏览器支持function.bind()方法

    function.bind()方法默认IE8是不支持的,下面有个小技巧可完美解决这个问题,为此疑惑的朋友可以看看

Global site tag (gtag.js) - Google Analytics