是否可以在localStorage中设置不可修改的(常量)项?如果是这样,怎么样?

时间:2012-02-23 01:23:45

标签: javascript jquery html5 local-storage

这是一种罕见的情况,但是是否可以在localStorage中设置项目,即使在同一个域中它也不可修改?如果没有,有什么工作吗?例如。监听localStorage访问事件并取消对该特定变量的本地存储访问的事件?

我知道这是一个奇怪的案例,可能不可能,但任何想法?

示例用例:

  

您正在创建第三方开发人员可以创建的平台   应用并将它们添加到同一个域。你想要appPolicy   可以通过localStorage获得,但您不希望其他开发人员使用   修改它。

1 个答案:

答案 0 :(得分:0)

您无法在localStorage中存储只读数据。但是,如果您想在JavaScript中使用只读属性,则可以将它们设为私有,并通过特权方法公开它们。例如:

function Person() {
    var ssn = '123-456-7890';  // private; cannot be accessed from outside the class

    // privileged method. has access to private data, and is publicly available  
    this.getSSN = function() {
        return ssn;
    }
}

创建Person的实例后,我无法(我知道)更改ssn

我希望这会有所帮助。