请考虑以下代码段:
$scope.delete=function(){
foo('x',3);
};
有没有更干净的方式来写这个?我的意思是当回调函数由一行调用另一个函数时? (显然,我不能把它写成$scope.delete=foo('x',3)
)
答案 0 :(得分:1)
您可以使用Function.prototype.bind()
bind()
方法创建一个新函数,当被调用时,它具有它 此关键字设置为提供的值,具有给定的序列 调用新函数时提供的任何参数。
例如:
$scope.delete = foo.bind(null, 'x', 3);
答案 1 :(得分:1)
您可以按如下方式使用bind
:
$scope.delete=foo.bind(this, 'x',3);
第一个参数是函数上下文。也就是说,值this
将在执行函数时采用。
bind()方法创建一个新函数,当被调用时,它具有它 此关键字设置为提供的值,具有给定的序列 调用新函数时提供的任何参数。