2014-08-31 148 views
0

對不起新問題。但我一直在努力幾個小時。如何在javascript中聲明變量

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); 

都返回不確定的。

我真的不知道這裏發生了什麼,任何幫助,將不勝感激。

+2

'dbruns.dbstuff = {nameslistresult:[]};'或'dbruns.dbstuff = {}; dbruns.dbstuff.nameslistresult = [];'您是否已嘗試在「嘗試幾小時之前閱讀文檔或教程」 ? – 2014-08-31 14:32:43

+0

非常感謝!的確,我做了,我沒有看到有關如何定義屬性的任何信息。我推測他們是公共變量。因爲他們是。 – Shammoo 2014-08-31 17:37:26

+0

只是爲了節省一點面子,驅使我嘗試進行更奇怪的嘗試使代碼工作的原因是因爲底層的API被破壞了。 – Shammoo 2014-09-01 15:05:34

回答

3

您似乎混淆了變量和屬性。

這是你如何聲明變量(和使用對象文本語法給它分配一個空的對象作爲值):

var dbruns = {}; 

這是你如何一個值分配給一個對象的屬性:

dbruns.dbstuff = { … 

這是你如何構造一個對象文本與預定義的屬性:

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

不幸的是,javascript沒有名稱間隔的塊,而是函數充當附件。

你所得到的第一個錯誤是因爲你根本沒有定義命名空間,但是定義一個JavaScript對象,然後在那裏,而不是屬性定義puting意外的表情......

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

如果你想nameresults是的dbruns屬性,你可以做...

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

JavaScript使用原型繼承,一切都在JavaScript是一種對象。