作家
登录

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

作者: 来源:www.28hudong.com 2013-03-30 03:36:11 阅读 我要评论

作者: 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 风格也可以选择这种写法.

  推荐阅读

  斑马线效果代码

斑马线 >>>详细阅读


本文标题:基于逻辑运算的简单权限系统(实现) JS 版

地址:http://www.17bianji.com/kaifa2/JS/30696.html

关键词: 探索发现

乐购科技部分新闻及文章转载自互联网,供读者交流和学习,若有涉及作者版权等问题请及时与我们联系,以便更正、删除或按规定办理。感谢所有提供资讯的网站,欢迎各类媒体与乐购科技进行文章共享合作。

网友点评
自媒体专栏

评论

热度

精彩导读
栏目ID=71的表不存在(操作类型=0)