全局化

Xebcnor     最近更新时间:2020-08-04 05:37:59

247

如果想开发一个模块,它可以在网页上运行或也可以运行其他模块,因此你必须注意变量名是否重复。

假设我们正在卡开发一个计数器模块:

var myCounter = {
    number : 0,
    plusPlus : function(){
        this.number : this.number + 1;
    },
    isGreaterThanTen : function(){
        return this.number > 10;
    }
}

注意: 这个技巧通常配合闭包使用,以使来自外部的内部状态不变。

模块使用唯一一个变量名 — myCounter。如果其他模块使用名字比如numberisGreaterThanTen ,这样就会很安全,因为不会覆盖每个其他的值。