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

  

javascript常量的更多相关文章

  1. JavaScript基础——JavaScript常量和变量(笔记)

    JavaScript常量和变量(笔记) Javascript代码严格区分大小写. javascript暂不支持constant关键字,不允许用户自定义常量. javascript使用var关键字声明变 ...

  2. JavaScript 常量定义

    相信同学们在看见这个标题的时候就一脸懵逼了,什么?JS能常量定义?别逗我好吗?确切的说,JS当中确实没有常量(ES6中好像有了常量定义的关键字),但是深入一下我们可以发现JS很多不为人知的性质,好好利 ...

  3. javascript常量的定义

    例如可以使用 const PI = 3.14159265; 一般不推荐使用 const 关键字,因为它不是 ECMAScript 语法的一部分.当需要常量的时候一般是以命名习惯来约束的,亦即使用大写字 ...

  4. JavaScript自学代码--(三)

    //通过 id 查找 HTML 元素 var x = document.getElementById("demo"); //通过标签名查找 HTML 元素 //本例查找 id=&q ...

  5. JavaScript 原型与继承机制详解

    引言 初识 JavaScript 对象的时候,我以为 JS 是没有继承这种说法的,虽说 JS 是一门面向对象语言,可是面向对象的一些特性在 JS 中并不存在(比如多态,不过严格来说也没有继承).这就困 ...

  6. JavaScript Math(算数)对象

    Math 对象 Math(算数)对象的作用是:执行普通的算数任务. Math 对象提供多种算数值类型和函数.无需在使用这个对象之前对它进行定义. 使用Math的属性/方法的语法: var x=Math ...

  7. JavaScript的数据类型---最全,最详细的数据类型,高级的工程师从数据类型开始

    一.基本数据类型 1.字符串数据类型     var hello="你好啊";     var hello='你好啊';示例:<script language="j ...

  8. JS的数据类型、常量、变量、以及基本对象的知识总结

    第一部分.JS的常见数据类型,特别要注意的是JS中大小写要求很严格,一定要注意字段大小写. 1.字符串(String) 举例: var cellname = "Bill Gate" ...

  9. 浅谈在ES5环境下实现const

    最近看到一个面试题--用ES5实现const.作为JS初学者的笔者知道在ES6中有const命令,可以用来声明常量,一旦声明,常量的值就不可改变.例如: 1234567891011 const Pi ...

随机推荐

  1. 我最优惠网系列(1)——HTML 解析类库HtmlAgilityPack

    0. 序言 在开发我最优惠网的过程中,遇到一些问题和技术点,写出来和大家分享,也是我自己对近期工作的整理和记录,预计会有解析HTML类库.本地缓存.链接跳转和C#中执行js代码技巧等方面. 1. Ht ...

  2. flatbuffers 使用问题记录

    1. 命名空间的问题 ----------------------------- namespace 1.0.3 版本包含文件类型前面不需要加命名空间,但是1.1.0 中包含需要在类型前加命名空间 i ...

  3. sql server 2008 数据库的完整性约束

    一.数据库完整性概述   1.数据库的完整性:   ①数据库的完整性是指数据的正确性和相容性 ②数据库完整性是防止不合语义或不正确的数据进入数据库 ③完整性体现了是否真实地反映现实世界   例:  学 ...

  4. Bootstrap系列 -- 33. 等分按钮

    等分按钮也常被称为是自适应分组按钮,其实现方法也非常的简单,只需要在按钮组“btn-group”上追加一个“btn-group-justified”类名. <div class="bt ...

  5. Unity Networking API文档翻译(一):Networking概述

    写在翻译前的话:      我使用过Photon,研究过Ulink这些Unity提供的多人在线游戏服务器组件,这些商业组件虽然很好很强大.但是对于一个独立开发者来说,4000多软妹币还是点多.总想找一 ...

  6. JS的十大经典算法排序

    引子 有句话怎么说来着: 雷锋推倒雷峰塔,Java implements JavaScript. 当年,想凭借抱Java大腿火一把而不惜把自己名字给改了的JavaScript(原名LiveScript ...

  7. onload是代码在也买你的追加元素的完成,而不是http请求的完成

  8. C#基础知识系列五(构造函数)

    前言 本节主要来学习下实例构造函数.私有构造函数和静态构造函数. 构造函数的作用: 1.当一个类在new实例化对象时,可调用构造函数进行初始化对象. 2.不带参数的构造函数称为“默认构造函数”. 无论 ...

  9. 【BZOJ-2295】我爱你啊 暴力

    2295: [POJ Challenge]我爱你啊 Time Limit: 1 Sec  Memory Limit: 128 MBSubmit: 202  Solved: 141[Submit][St ...

  10. POJ3714 Raid

    Raid Time Limit: 5000MS   Memory Limit: 65536K Total Submissions: 10625   Accepted: 3192 Description ...