【发布时间】:2018-03-26 11:03:15
【问题描述】:
在一个对象中,我定义了一些事件:键是事件名称,值是回调函数。这是一个例子:
vm.events = {
check_node: function(node, selected){
...
},
uncheck_node: function(node, selected){
...
}
};
我想为这些函数添加一些代码,所以我做了以下操作:
for (var evt in scope.tree.events) {
if (scope.tree.events.hasOwnProperty(evt)) {
var cb = scope.tree.events[evt];
scope.tree.events[evt] = function(...args){
cb(...args);
controller.$setDirty();
scope.$evalAsync();
};
scope.tree.view.on(evt.indexOf('.') > 0 ? evt : evt + '.jstree', scope.tree.events[evt]);
}
但是 JSHint 会记录以下警告:
Functions declared within loops referencing an outer scoped variable may lead to confusing semantics. (W083)
我该如何解决这个问题?
【问题讨论】:
标签: javascript jshint