我在一个正在开发的应用程序中实现了这个功能:
$rootScope.$on('$stateChangeError',
function (event, toState, toParams, fromState, fromParams) {
console.log.bind(console);
});有人能给我一些关于它的用途的建议吗?我不知道为什么要添加它,但现在我正在看它,我想我至少应该知道它是做什么的。
发布于 2016-03-12 00:28:55
在这种特殊情况下,它完全没有做任何有价值的事情。我认为一些重构出了问题,实际上它应该是这样做的:
$rootScope.$on('$stateChangeError', console.log.bind(console));这会将console.log方法附加为事件处理程序,这只会导致它记录事件的每次调用。由于在调用时绑定this的方式,.bind(console)是正确保留上下文所必需的。
发布于 2016-03-12 00:27:48
它什么也做不了,至少没有任何有用的东西...
有时,您可能会看到类似以下内容:
z = x.y.bind(x)在本例中,z是一个在this参数设置为x的情况下执行函数x.y的函数。在本例中,由于从未使用过bind的返回值,因此该语句只是创建了一个从未使用过的函数。您还会看到这个函数经常被传递给回调函数。举个愚蠢的例子:
var foo = function(a, callback) {
callback(a);
};
foo(a, b.c.bind(b));这与调用b.c(a)是一样的
https://stackoverflow.com/questions/35945153
复制相似问题