<script>
var Acc={
value:0,/* 缓存权限结果值 */
add:function(n){/* 添加一个权限 */
if(this.has(n))return this;/* 避免重复添加 */
return this.value+=1<<n,this;
},
remove:function(n){/* 删除一个权限 */
if(!this.has(n))return this;/* 不存在此权限时跳过 */
return this.value-=1<<n,this;
},
has:function(opID){/* 判断是否包含指定权限 */
return (this.value&(1<<opID))==1<<opID;
},
all:function(){/* 列举全部权限 */
for(var i=0, arr=[];i<this.value;i++){
if(1<<i>this.value)break;/* 中断不存在的ID */
if(this.has(i))arr.push(i);
};
return arr;
}
}
var $=Acc;
var ps='浏览,回复,编辑,屏蔽,删除,添加,管理,申诉,举报,其它'.split(',');
$.add(0);//添加浏览权限
$.add(3);//添加屏蔽权限
$.add(4);//添加删除权限
$.add(6);//添加管理权限
$.remove(0);//移除浏览权限
$.remove(3);//移除屏蔽权限
//$.remove(4);//移除删除权限
var r=$.all(), rc=[];
for(var i=0;i<r.length;i++)
{//把权限ID转换为字符串
rc.push(ps[r[i]]||'其它')
}
alert('您拥有以下权限:nn'+rc.join('nn'));
//-->
</script>
|