js面向对象编程:如何定义常量?

  js中有一个关键字const,但目前的浏览器似乎还不支持,如果一定要定义一些常量,其实可以使用闭包,匿名函数实现常量的定义。

例如:

[javascript]  view plain  copy
  1. var Class = (function() {  
  2.   var UPPER_BOUND = 100;//定义了常量  
  3.    var Test={};  
  4.   // 定义了一个静态方法 获取常量的方法  
  5.   Test.getUPPER_BOUND=function() {  
  6.     return UPPER_BOUND;  
  7.   }  
  8.   return Test;  
  9. })();  

用法:

[javascript]  view plain  copy
  1. var k=Class.getUPPER_BOUND();  
  2.                alert(k);//    

多个常量的情况下:也可以这么写:

[javascript]  view plain  copy
  1. var Class = (function() {    
  2.   // Private static attributes.  
  3.   var constants = {//定义了两个常量  
  4.     UPPER_BOUND: 100,  
  5.     LOWER_BOUND: -100  
  6.   }  
  7.   var Test={};  
  8.   // 定义了一个静态方法  
  9.   Test.getConstant=function(name){//获取常量的方法  
  10.     return constants[name];  
  11.   }  
  12.   return Test  
  13. })();  

用法:

[javascript]  view plain  copy
  1. var k=Class.getConstant('UPPER_BOUND');  
  2.                alert(k);//  

你可能感兴趣的:(javascript)