我在我正在处理的应用程序中有这个:
config.options.x = defaults.options.x
有人可以就它的作用给我建议吗?我不知道它为什么被添加但现在我正在看它,并认为我至少应该知道它的作用。
答案 0 :(得分:3)
在这种特殊情况下,它绝对没有任何价值。我认为有些重构出错了,实际应该做的是:
$rootScope.$on('$stateChangeError', console.log.bind(console));
这会将console.log
方法作为事件处理程序附加,这将导致它记录事件的每次调用。由于this
在呼叫时限的方式,.bind(console)
是正确保留上下文所必需的。
答案 1 :(得分:0)
它没有任何作用,至少没有任何有用的东西......
有时您会看到类似的内容:
z = x.y.bind(x)
在这种情况下,z
是一个函数,它将x.y
参数设置为this
来执行函数x
。在您的情况下,由于永远不会使用bind
的返回值,因此该语句只是创建一个永远不会被使用的函数。您还会看到这种情况经常传递给回调。作为一个愚蠢的例子:
var foo = function(a, callback) {
callback(a);
};
foo(a, b.c.bind(b));
这与调用b.c(a)