是否可以避免声明全局变量,而是为其分配匿名函数的结果?
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;
}
}
});
答案 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;
});