【发布时间】:2012-11-10 09:26:21
【问题描述】:
谁能解释一下这个函数?
var bindbind = Function.prototype.bind.bind(Function.prototype.bind);
我了解它产生的结果:
var bindedContextFunc = bindbind(function)(context);
bindedContextFunc(args);
但是不明白创建这个函数的过程,我的意思是部分bind(Function.prototype.bind)
【问题讨论】:
-
"context" 最好是 "thisValue" 或类似的。
-
@RobG:“context”有什么问题?我看到它经常使用,我认为它比技术术语更具描述性。你有我(我们)阅读的链接吗?
-
在 ECMAScript 中,“context”用于execution context,包括当前执行代码的所有参数和范围。它包括一个
this值,并由代码的编写方式控制。它是静态的。相反,函数的this值是动态的,完全由函数的调用方式设置,与函数的声明或初始化方式无关。所以称“this”上下文是不合适的。这样做的人需要阅读并理解他们所使用的语言的规范。 -
@RobG 有趣的信息,谢谢。但是在更高级别(不知道行为细节)
this看起来与“上下文”完全一样。
标签: javascript functional-programming function-binding