【发布时间】:2014-10-25 17:37:04
【问题描述】:
啊,关于闭包变量范围的问题^^
嗯,我发现了很多关于这个主题的问题,但找不到任何答案。
代码如下:
var groups = [];
var users = [];
var getPermissions = function(accessList){
var desk = [];
_.forEach(accessList, function(access){
desk.push(access.name);
console.log("1 - Permission :" + desk);
});
return desk;
};
_.forEach(groups, function(group){
_.forEach(users, function(user){
var permissions = [];
permissions = getPermissions(user.access);
console.log("2 - Permission :" + permissions);
});
});
你能告诉我为什么日志 1 给了我答案,而日志 2 一直是空的:(
谢谢大家
P.S:忽略代码的目的,我删除了它的一些部分......
【问题讨论】:
-
你能在小提琴中重现你的问题吗?我猜你对代码的改动太大了,根本没有显示你真正的问题,这可能是异步。
-
由于
users是一个零长度列表,循环将立即中止,您将不会得到任何输出。您需要提供足够的代码来实际重现问题。 -
第 6 行有一个错字 -
_forEach应该是_.forEach。
标签: javascript node.js closures