首页 > 代码库 > javascript bind
javascript bind
bind的作用和apply,call类似都是改变函数的execute context,也就是runtime时this关键字的指向。但是使用方法略有不同。一个函数进行bind后可稍后执行。
定义:
function.bind(thisArg[,arg1[,arg2[,argN]]])
返回值 依然是function
这里与apply和call是不同的,apply和call是直接执行function,bind仅是将参数和thisArg缓存给function,却不会去触发
function testFun(name1 , name2, name3, name4){ console.log(name1+" ; " +name2+" ; " +name3+" ; " +name4 ); }var test1 = testFun.bind(null,1,2);var test2 = test1.bind(null,3);test2(4);结果:1 ; 2 ; 3 ; 4
可以看到bind是把参数一个个压进堆栈中去保存起来的
另外,bind也可以使用内置函数或者说可以用原型链调用
如
Array.prototype.slice.bind
换句话说,就是可以在不实例化类的情况下,直接调用共有方法(即 原型链上的方法,Person.prototype.display.bind)。
javascript bind
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。