首页 > 代码库 > javascript常量

javascript常量

javascript中没有常量的概念,虽然许多现代的变成环境可能为您提供了用以创建常量的const语句。
对于的自己的变量,可以采用相同的命名约定,并且将他们以静态属性的方式添加到构造函数中。

//构造函数var Widget = function(){  //实现...}//常数Widget.MAX_HEIGHT = 320;Widget.MAX_WIDTH = 480;同样的命名还可以应用于以字面量创建的对象中var constant = (function(){  var constants = {},    ownProp = Object.prototype.hasOwnProperty,    allowed = {      string : 1,      number : 1,      boolean : 1    },    prefix = (Math.random() + ‘_‘).slice(2);  return {    set : function(name,value){      if( this.isDefined(name) ){        return false;      }      if( !ownProp.call(allowed,typeof value) ){        return false;      }      constants[prefix+name] = value;      return true;    },    isDefined : function(name){      return ownProp.call(constants,prefix + name);    },    get : function(name){      if(this.isDefined(name)){        return constants[prefix + name];      }      return null;    }  }}());//检查是否已经定义常量console.log( constant.isDefined(‘MAX_WIDTH‘) ); //false//定义console.log( constant.set(‘MAX_WIDTH‘,480) ); //true//再次检查console.log( constant.isDefined(‘MAX_WIDTH‘) ); //true//试图重新定义console.log( constant.set(‘MAX_WIDTH‘,320) ) //false//该值是否仍保持不变console.log( constant.get(‘MAX_WIDTH‘) ); //480