为什么在JavaScript数组方法中绑定回调比使用thisArg更可取?

为什么在JavaScript数组方法中绑定回调比使用thisArg更可取?,javascript,Javascript,Douglas Crockford在其视频系列“Douglas Crockford JavaScript主类”中提到,JavaScript数组方法中的thisArg,例如arr.forEach(callback[,thisArg])是语言中的错误,使用callback.bind(thisArg)绑定传递的回调更好 为什么这样更可取?可能是因为bind()是一种一致的模式,但是如果您不熟悉参数签名,那么看到附加在末尾的参数通常需要查阅文档 我认为这很有用,但我也能看出他的立场。Crockford对

Douglas Crockford在其视频系列“Douglas Crockford JavaScript主类”中提到,JavaScript数组方法中的
thisArg
,例如
arr.forEach(callback[,thisArg])
是语言中的错误,使用
callback.bind(thisArg)
绑定传递的回调更好


为什么这样更可取?

可能是因为
bind()
是一种一致的模式,但是如果您不熟悉参数签名,那么看到附加在末尾的参数通常需要查阅文档


我认为这很有用,但我也能看出他的立场。Crockford对JavaScript有很多话要说,但这只是一个人的意见。

这不是一个错误,可能非常有用。使用
.bind()
创建新的函数对象。在不需要的时候似乎是浪费。Crockford费心给出原因了吗?如果我记得的话,Crockford也把HTML5称为一个错误。