使用Javascript对象声明变量

时间:2014-04-08 02:07:42

标签: javascript jquery json variables global-variables

我只是想知道用JSON格式声明变量是否合适?

例如,执行此操作:

$(function(){
    var global = {
        varA : 'This is a global variable from global.varA ~!',
        varB : 'This is a global variable from global.varB ~!'
    };

    alert(global.varA);
    alert(global.varB);
});

而不是:

$(function(){
    var globalVarA = 'This is a global variable from globalVarA ~!',
        globalVarB = 'This is a global variable from globalVarA ~!';

    alert(globalVarA);
});
  • 我想要这样做的原因是,当我处理一个非常长的JS文件时,它会更容易找到。任何事情都以 global. 开头,我知道它是一个全局变量。
  • 这是一个好习惯吗?
  • 我需要考虑什么吗?

2 个答案:

答案 0 :(得分:2)

首先,这不是JSON格式,它只是普通的javascript对象文字。

其次,因为它是有效的语法,你可以这样做,这是将变量放在命名空间中的常规做法(通过javascript 中没有命名空间概念)。

如果您想让global成为全局,那么您可以将其设置为全局对象window的属性:

$(function(){
    var global = {
        varA : 'This is a global variable from global.varA ~!',
        varB : 'This is a global variable from global.varB ~!'
    };
    window['global'] = global;    
});

答案 1 :(得分:1)

您的“新变量”实际上是对象文字的属性。它们不是变量,也不具有全局范围。但是,我不认为这是定义“对价值的引用”的最糟糕方式。您正在将对象用作关联数组,这是A-OK。