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

石豆散人

石豆散人

2016-02-19 10:21

关注图老师设计创意栏目可以让大家能更好的了解电脑,知道有关于电脑的更多有趣教程,今天给大家分享基于逻辑运算的简单权限系统(实现) 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 风格也可以选择这种写法.
展开更多 50%)
分享

猜你喜欢

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

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

Excel 逻辑运算符

电脑入门
Excel 逻辑运算符

s8lol主宰符文怎么配

英雄联盟 网络游戏
s8lol主宰符文怎么配

Java位运算和逻辑运算的区别实例

编程语言 网络编程
Java位运算和逻辑运算的区别实例

基于Struts的权限实现

编程语言 网络编程
基于Struts的权限实现

lol偷钱流符文搭配推荐

英雄联盟 网络游戏
lol偷钱流符文搭配推荐

实现基于Spring框架应用的权限控制系统

编程语言 网络编程
实现基于Spring框架应用的权限控制系统

基于Linux操作系统实现的传真系统

Linux Linux命令 Linux安装 Linux编程 Linux桌面 Linux软件 Linux内核 Linux管理
基于Linux操作系统实现的传真系统

lolAD刺客新符文搭配推荐

英雄联盟
lolAD刺客新符文搭配推荐

mysql 卡死 大部分线程长时间处于sending data的状态

mysql 卡死 大部分线程长时间处于sending data的状态

win10应用安装10台设备后无法继续安装应用的解决方法

win10应用安装10台设备后无法继续安装应用的解决方法
下拉加载更多内容 ↓