我有一个角度服务,我们称之为ActionService,它使用 '使用严格'。因此,每当我使用 this 来调用自己的方法时,它都是未定义的。有没有办法绕过严格的使用?
if (angular.isFunction(this[action.name])) {
this[action.name](parameters);
} else {
doSpecialAction(action, parameters);
}
答案 0 :(得分:1)
您的问题与use strict;
无关。
Javascript不会传递this
上下文,IOW:this
没有绑定到函数调用,除非您使用点表示法访问函数,将函数调用为默认值将具有{{1如果不是this
,那么这两种情况下都不是非常有用的。
因为这个Javascript有use strict
等等。
在你的情况下bind / apply / call
很可能是你的追随者。
如此。
call