• 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
    

      

  • 相关阅读:
    一本通1331后缀表达式的值
    一本通1198 逆波兰表达式
    一本通1311 求逆序对(归并排序应用)
    快速排序
    一本通1310 车厢重组(冒泡排序,类似逆序对)
    一本通1186 出现次数超过一半的数(类似桶排序)
    一本通1216 红与黑 (代码没有参考任何博客,完全是自己写的,我搜索出山了!!!)
    一本通1222 放苹果
    一本通 1212 LETTERS
    一本通1215 迷宫
  • 原文地址:https://www.cnblogs.com/fengzekun/p/3894802.html
Copyright © 2020-2023  润新知