源码网商城,靠谱的源码在线交易网站 我的订单 购物车 帮助

源码网商城

基于逻辑运算的简单权限系统(实现) JS 版

  • 时间:2022-07-01 05:44 编辑: 来源: 阅读:
  • 扫一扫,手机访问
摘要:基于逻辑运算的简单权限系统(实现) JS 版
作者: slightboy, 时间: 2006-10-17 此篇为 JS 实现版本, 以前作已交待原理 故不在此多做解释 如需原理介绍 请查看 VBS 版. var PermissionType = {     Read : 1,     Write : 2,     Delete : 4 } function PermissionSetComponent(value) {     this.Value = value;     this.getRead = function()     {         return this.getValue(PermissionType.Read);     }     this.setRead = function(value)     {         this.setValue(PermissionType.Read, value);     }     this.Read = function()     {         if (arguments.length > 0)             this.setValue(PermissionType.Read, arguments[0]);         else             return this.getValue(PermissionType.Read);     }     this.Write = function()     {         if (arguments.length > 0)             this.setValue(PermissionType.Write, arguments[0]);         else             return this.getValue(PermissionType.Write);     }     this.Delete = function()     {         if (arguments.length > 0)             this.setValue(PermissionType.Delete, arguments[0]);         else             return this.getValue(PermissionType.Delete);     }     this.getValue = function(permissionType)     {         return (this.Value & permissionType) == permissionType;     }     this.setValue = function(permissionType, value)     {         if (value)             this.Value |= permissionType;         else             this.Value &= ~permissionType;     } } var PermissionSet = new PermissionSetComponent(0); w("Read:"); PermissionSet.Read(false); w(PermissionSet.Value +" "+ PermissionSet.Read()); PermissionSet.Read(true); w(PermissionSet.Value +" "+ PermissionSet.Read()); w("Write:"); PermissionSet.Write(false); w(PermissionSet.Value +" "+ PermissionSet.Write()); PermissionSet.Write(true); w(PermissionSet.Value +" "+ PermissionSet.Write()); w("Delete:"); PermissionSet.Delete(false); w(PermissionSet.Value +" "+ PermissionSet.Delete()); PermissionSet.Delete(true); w(PermissionSet.Value +" "+ PermissionSet.Delete()); function w(o) {     Response.Write(o +"<br />"); } 注: 红色部分为 java 风格写法 不是本例所必须. 只是做一个展示, 如果你比较喜欢 java 风格也可以选择这种写法.
  • 全部评论(0)
联系客服
客服电话:
400-000-3129
微信版

扫一扫进微信版
返回顶部