0

是否可以避免声明全局变量,而是将其分配给匿名函数的结果?

var logged = false;
Ext.each(userRecords, function (userRecord) {
  if (userRecord.get('id') == currentuser) {
    if (userRecord.get('password') == currentuserpassword) {
      logged = true;
    }
  }
});

例子:

var logged = Ext.each(userRecords, function (userRecord) {
  if (userRecord.get('id') == currentuser) {
    if (userRecord.get('password') == currentuserpassword) {
      return true;
    }
  }
});
4

2 回答 2

1

如果您使用的是 Ext JS 4.0 或更高版本,只需将您Ext.each在第二个代码块中的替换Ext.Array.some为您的代码即可。

对每个数组元素执行指定的函数,直到函数返回一个真值。如果找到这样的项目,该函数将立即返回 true。否则,它将返回 false。

于 2013-07-11T19:49:49.493 回答
0

使用 ECMAScript 5some数组方法:

var logged = userRecords.some(function (userRecord) {
  if (userRecord.get('id') == currentuser) {
    if (userRecord.get('password') == currentuserpassword) {
      return true;
    }
  }
  return false;
});
于 2013-07-11T19:45:54.043 回答