Javascript 中類比 Enum By shawl.qiu

來源:互聯網
上載者:User
Javascript 中類比 Enum By shawl.qiu

說明:
這個類比起來挻簡單的, 不過由於 JS 程式一般都很小, 基本上不需要使用像Enum 這樣的資料類型...

相關文章見: shawl.qiu Javascript 雜湊表類 / HashTable v1.0
http://blog.csdn.net/btbtd/archive/2007/06/28/1669636.aspx

shawl.qiu
2007-08-22
http://blog.csdn.net/btbtd

內容:// shawl.qiu JavaScript Document
 /*-----------------------------------------------------------------------------------*/
  * shawl.qiu Enum class v1.0
 /*-----------------------------------------------------------------------------------*/
 //---------------------------------begin class Enum()-------------------------------//
 function Enum()
 { // shawl.qiu code : return object
  //------------------------------------begin private variable
   var Arg = arguments;
  //------------------------------------begin private method
  function fGetEnum()
  {
   var This = this;
   var ArgLen = Arg.length;
   var Index = 0;
   
   if(ArgLen>0) 
   {
    for(var i=0; i<ArgLen; i++)
    {
     Arg[i] += "";
     Arg[i] = Arg[i].replace(//s+/g, "");
     if(Arg[i].indexOf("=")>-1)
     {
      var TempAr = Arg[i].split("=");
      if(TempAr.length!=2) 
      {
       throw new Error(["枚舉類型: ", Arg[i], " 初始化出錯!"].join(''));
      } 
      var iTemp = parseInt(TempAr[1]);
      if(isNaN(iTemp))
      {
       throw new Error(["枚舉類型: ", Arg[i], " 初始值出錯!"].join(''));
      }
      
      This[TempAr[0]] = iTemp;
      
      Index = ++iTemp;
     }
     else
     {
      This[Arg[i]] = Index++;
     }
    }
   }
   else
   {
    fFatalError("枚舉類型必須有初始參數!");
   }
   return This;
  }

  function fFatalError(sMsg)
  {// shawl.qiu code : void return
   if(!sMsg) sMsg = "發生嚴重錯誤, 現在終止程式運行!";
   throw new Error(sMsg);
  } // end function fFatalError  
  //------------------------------------end private method
  
  //------------------------------------begin initer
  return new fGetEnum();
  //------------------------------------end initer
 } // shawl.qiu code
 //---------------------------------end class Enum()---------------------------------//

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.