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、2 番目のコード ブロックの を に置き換えるだけで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 に答える