如何分配从anon函数返回的值?

时间:2013-07-11 19:39:03

标签: javascript anonymous-function

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

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;
    }
  }
});

2 个答案:

答案 0 :(得分:1)

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

  

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

答案 1 :(得分:0)

使用ECMAScript 5 some数组方法:

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