JavaScript常量

时间:2012-10-28 04:27:43

标签: javascript jquery variables object

我们知道我们可以保护变量的值,因此用户无法改变现有变量的值!实现这对象没有任何问题.. ??

例如..

const x = 5;

x = 10;

alert(x)
// will be returned 5

使用对象..

 const obj = {
        init: function() {
         obj.show()
      },
      show: function() {
       //..
      },
      hide: function() {
      //..
      }
  }
  obj.init();

3 个答案:

答案 0 :(得分:2)

如果你可以使用JS5,你有这个选择:

var CONST = {
  NAME: "The Cool Gizmo",
  VERSION: 2
};
Object.freeze(CONST);

alert(CONST.NAME);

答案 1 :(得分:2)

  var myObj = (function () {
    var privVar1 = 111,
        privVar2 = 222;

    var getConstants = function () {

        return { priv1: privVar1, priv2: privVar2 }
    };
    return { getConstants: getConstants };
})();

myObj.getConstants().priv1

答案 2 :(得分:1)

所有浏览器目前都不支持const关键字,也不是当今使用的官方Javascript规范的一部分。 (https://developer.mozilla.org/en-US/docs/JavaScript/Reference/Statements/const)

要完成常量,请考虑在函数中封装所需的行为:

var getConstant = function(key) {
    var constants = { x: 5 };        
    return constants[key];
};

alert(getConstant("x"));

或者,只需使用具有适当范围的变量来保护第三方不设置其值:

function myModule() {
    var x = 5;
    doSomethingWith(x);
}