【发布时间】:2013-03-21 15:27:14
【问题描述】:
我想检查我的枚举值中是否设置了标志。 我的代码有什么问题?
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");
}
【问题讨论】:
-
65? 65 是 1+64。如果你想要位掩码值,那么
ERROR必须是64。 -
现在究竟有什么可以按预期工作?
value & flats.ERROR共享FOO位 (2^0),表示条件为真。
标签: javascript enums