比如说有个简单的论坛,在设定系统权限的时候,赋值用以下的方式(最后的值都是2的几次方):
const CREATE_FORUM = 2;
const MOVE_MESSAGE = 4;
const DELETE_MESSAGE = 8;
const DELETE_FORUM = 16;那位能给解释一下, 为什么?

解决方案 »

  1.   

    这是为了方便设置权限,需要多个权限的时候,只需要把每个权限代表的数字相加就可以了。
    在做权限判断的时候,也只需要把你的权限与某个权限所代表的数字相与,如果大于0,表示你具有相应的权限。
    假设你有CREATE_FORUM 和 MOVE_MESSAGE 的权限,你的权限数字就为6。 6 & 2 = 6, 6 & 4 = 6, 6 & 8 = 0