抱歉有新问题。但我已经尝试了几个小时。
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。
我真的不知道这里发生了什么,任何帮助都会受到赞赏。
答案 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中的所有内容都是对象。