function bind(fn, context){return function(){ return fn.apply(context, arguments);
};}这是JavaScript高级程序设计高级技巧中bind方法 对这个方法我有两点疑问:1、argument是里面的方法的参数集合,但是又传不到参数给里面的方法,那这个argument有什么意义?2、调用里面的fn时,为什么要加return,不加也可以调用啊,加了有什么意义?
1 回答

凤凰求蛊
TA贡献1825条经验 获得超4个赞
举个简单例子
var a = 0;var obj = {a:2};function add(x,y){ return this.a + x + y;}
在非严格模式下
add(3,4) //7bind(add,obj)(3,4) //9
arguments
是传到返回的函数里面的 也就是上文的 类似[3,4]
的东西(array like)return
是返回了一个值
不return
如果函数是只有副作用的 比如触发一个动作,改某个变量的值的那是没啥
如果没副作用函数 比如我上面这个
add
那你怎么写能到达我现在要的效果...
添加回答
举报
0/150
提交
取消