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


Posted in Javascript onMarch 24, 2007

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

Javascript 相关文章推荐
用Javascript数组处理多个字符串的连接问题
Aug 20 Javascript
用Javascript实现Windows任务管理器的代码
Mar 27 Javascript
快速解决FusionCharts联动的中文乱码问题
Dec 04 Javascript
用js模拟struts2的多action调用示例
May 19 Javascript
通过JS动态创建一个html DOM元素并显示
Oct 15 Javascript
js判断某个字符出现的次数的简单实例
Jun 03 Javascript
使用UrlConnection实现后台模拟http请求的简单实例
Jan 04 Javascript
JS实现含有中文字符串的友好截取功能分析
Mar 13 Javascript
React中的refs的使用教程
Feb 13 Javascript
vue项目打包部署_nginx代理访问方法详解
Sep 20 Javascript
javascript中的this作用域详解
Jul 15 Javascript
微信小程序左右滚动公告栏效果代码实例
Sep 16 Javascript
用js实现的仿sohu博客更换页面风格(简单版)
Mar 22 #Javascript
漂亮的提示信息(带箭头)
Mar 21 #Javascript
自动生成文章摘要的代码[JavaScript 版本]
Mar 20 #Javascript
用roll.js实现的图片自动滚动+鼠标触动的特效
Mar 18 #Javascript
表单提交时自动复制内容到剪贴板的js代码
Mar 16 #Javascript
用javascript自动显示最后更新时间
Mar 15 #Javascript
用js实现预览待上传的本地图片
Mar 15 #Javascript
You might like
php中常用编辑器推荐
2007/01/02 PHP
yii框架中的Url生产问题小结
2012/01/16 PHP
关于WordPress的SEO优化相关的一些PHP页面脚本技巧
2015/12/10 PHP
PHP长连接实现与使用方法详解
2018/02/11 PHP
获取body标签的两种方法
2011/10/13 Javascript
JS使用正则表达式除去字符串中重复字符的方法
2015/11/05 Javascript
详解JavaScript的流程控制语句
2015/11/30 Javascript
Angularjs 与 bower安装和使用详解
2017/05/11 Javascript
vue项目实战总结篇
2018/02/11 Javascript
Vue中的this.$options.data()和this.$data用法说明
2020/07/26 Javascript
[03:59]5分钟带你了解什么是DOTA2(第二期)
2017/02/07 DOTA
python解析xml模块封装代码
2014/02/07 Python
Python3指定路径寻找符合匹配模式文件
2015/05/22 Python
wxpython中Textctrl回车事件无效的解决方法
2016/07/21 Python
Python 搭建Web站点之Web服务器与Web框架
2016/11/06 Python
深入理解Django的自定义过滤器
2017/10/17 Python
Python实现矩阵转置的方法分析
2017/11/24 Python
Pandas Shift函数的基础入门学习笔记
2018/11/16 Python
Python设计模式之策略模式实例详解
2019/01/21 Python
Python 使用Numpy对矩阵进行转置的方法
2019/01/28 Python
Python实现堡垒机模式下远程命令执行操作示例
2019/05/09 Python
python区块及区块链的开发详解
2019/07/03 Python
Django多进程滚动日志问题解决方案
2019/12/17 Python
什么是Python中的匿名函数
2020/06/02 Python
解析Tensorflow之MNIST的使用
2020/06/30 Python
python实现二分查找算法
2020/09/18 Python
CSS3 border-image详解、应用及jQuery插件
2011/08/29 HTML / CSS
Html5跳转到APP指定页面的实现
2020/01/14 HTML / CSS
Nike比利时官网:Nike.com (BE)
2019/02/07 全球购物
《音乐之都维也纳》教学反思
2014/04/16 职场文书
道德大讲堂实施方案
2014/05/14 职场文书
客户答谢会活动方案
2014/08/31 职场文书
英语教师求职信范文
2015/03/20 职场文书
医院志愿者活动总结
2015/05/06 职场文书
小学少先队活动总结
2015/05/08 职场文书
PostgreSQL数据库创建并使用视图以及子查询
2022/04/11 PostgreSQL