0

列挙値にフラグが設定されているかどうかを確認したい。コードの何が問題になっていますか?

Javascriptコード

var flags = {
  FOO: 1,
  BAR: 2,
  BAZ: 4,
  FUM: 8,
  ERROR: 65
}

var value = flags.FOO | flags.BAR;

if (value & flags.ERROR){
   alert("ERROR IS SET, but this is not true");
}
4

1 に答える 1

2

最初にあなたの値はn ^ 2でなければなりません:

var flags = {
  UNKNOWN: 0, 
  FOO: 1,
  BAR: 2,
  BAZ: 4,
  FUM: 8,
  ERROR: 16
}

次に、ステートメントは次のようになります。

if ((value & flags.ERROR) == flags.ERROR){
   alert("ERROR IS SET");
}
于 2015-02-03T11:04:07.760 に答える