2014-08-31 4 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 = [];' Вы уже пытались прочитать документацию или учебные пособия перед тем, как «часами пытаться», ? –

+0

Большое вам спасибо! Действительно, я это сделал, я не видел ничего о том, как определить свойства. Я предположил, что они являются публичными переменными. Так как они такие. – Shammoo

+0

Просто чтобы сохранить немного лица, то, что побудило меня попробовать все более причудливые попытки сделать работу с кодом, было потому, что базовый API был сломан. – Shammoo

ответ

3

Вы считаете, что используете переменные и свойства.

Это, как вы объявляете переменную (и присвоить ему пустой объект в качестве значения с помощью объекта буквального синтаксиса):

var dbruns = {}; 

Это как присвоить значение свойства объекта:

dbruns.dbstuff = { … 

Это, как вы строите объект буквальным с заданными свойствами:

… = { 
    nameslistresul: [], 
    foo: bar 
}; 
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 является объектом.

Смежные вопросы