JS通過匿名函數實現常量定義使用


在編寫JS代碼一些特定條件的時候,程序開始需要一個變量用來存儲一些聲明后就不能再做操作的數據,這時候可能第一時間會想到Java里面常量的概念。

但是在JS里面沒有定義常量這一說,這時候可以使用JS中有一個關鍵字const可以來定義常量,但目前的瀏覽器似乎還不支持,如果一定要定義一些常量,

其實可以使用閉包,匿名函數實現常量的定義。

代碼如下:

首先定義一個匿名函數

var Class = (function() {
   var UPPER_BOUND = 100 ; //定義需要的常量
   var Test={};
   // 定義了一個靜態方法 獲取常量的方法
   Test.getUPPER_BOUND=function() {
     return UPPER_BOUND;
   }
   return Test;
})();

該匿名函數類似於Java里面的遞歸,屬於自身調用,在程序一開始的時候會被自動執行。

當要使用該常量的時候,通過.的方式可以獲取定義的常量

var k=Class.getUPPER_BOUND();

當需要定義多個常量的時候也可以這么寫

var Class = (function() { 
   // Private static attributes.
   var constants = { //定義了多個常量
     UPPER_BOUND: 100 ,
     LOWER_BOUND: - 100
   }
   var Test={};
   // 定義了一個靜態方法
   Test.getConstant=function(name){ //獲取常量的方法
     return constants[name];
   }
   return Test
})();

當需要使用這些數據的時候

var k1=Class.getConstant('UPPER_BOUND');

var k2=Class.getConstant('LOWER_BOUND');

實際效果如下:

我們定義了兩個變量t1,t2,並將它們存入匿名函數中,在存入函數后我們又對值進行了修改。

再次打印存入匿名函數中的值,可以看到函數中的值未改變,與之前我們存入時候的數據一致,通過這種

定義匿名函數的方法可以靈活實現JS中常量的定義。PS:感覺有點投機取巧的意思...

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM