如何在javascript中声明变量

时间:2014-08-31 14:30:53

标签: javascript scope var

抱歉有新问题。但我已经尝试了几个小时。

var dbruns = {}; // namespace

dbruns.dbstuff = {
    var nameslistresult = [];

这会收到错误,意外的标识符。当我把它放在dbruns级别时

var dbruns = {}; // namespace
var nameslistresult = [];
dbruns.dbstuff = {

它过去了,但随后

console.log(typeof dbruns.nameslistresult);
console.log(typeof dbruns.dbstuff.nameslistresult);

都返回undefined。

我真的不知道这里发生了什么,任何帮助都会受到赞赏。

2 个答案:

答案 0 :(得分:3)

您似乎混淆了变量和属性。

这是您声明变量的方法(并使用对象文字语法将空对象指定为值):

var dbruns = {};

这是为对象的属性赋值的方法:

dbruns.dbstuff = { …

这是使用预定义属性构建对象文字的方法:

… = {
    nameslistresul: [],
    foo: bar
};

答案 1 :(得分:1)

不幸的是,javascript没有名称间隔的块,而是函数充当了外壳。

你得到的第一个错误是因为你没有定义命名空间,而是定义一个javascript对象,然后在那里放置意外的表达式而不是属性定义......

var dbruns = { key: "value", another_key: "another value" } // valid syntax for object definition

如果您希望nameresults成为dbruns的属性,则可以执行...

var dbruns = {}
dbruns.nameresults = []
dbruns.stuff = {}

Javascript使用原型继承,javascript中的所有内容都是对象。