2013-03-22 4 views
0

Привет Я, кажется, возникают проблемы выполнения функции глубоко внутри массивов:выполнение функции глубоко внутри массивов

var Segments = [Segment_1]; 

var Segment_1 = { 
    "requirements": { 
    "Dektec": "True", 
    "SSH": "True" 
    }, 
    "requests": { 
    "R11": "True" 
    }, 
    'function': function(){ 
    print("Hello World!"); 
    } 
}; 


Segments[0]['function'](); 

Это работает, если я только один массив глубоко, хотя:

var Segments = [Segment_1]; 

function Segment_1() { 
    print("Hello World!"); 
} 

Segments[0](); 

У меня есть видел аналогичные вопросы в Stackoverflow, но все они относятся к одноуровневому массиву. Любая идея, что я делаю неправильно здесь? Я уверен, что это что-то простое.

Благодаря

+0

Какая ошибка вы получаете? – Vinay

+0

Работает отлично [здесь] (http://jsfiddle.net/EnvXc/), если вы просто переместите определение своего массива после определения члена, который вы пытаетесь вставить в него. –

ответ

3

Вы должны установить Segments после установки Segment_1

var Segment_1 = { 
    "requirements": { 
     "Dektec": "True", 
     "SSH": "True" 
    }, 
    "requests": { 
     "R11": "True" 
    }, 
    'function': function(){ 
     document.write("Hello World!"); 
    } 
}; 

var Segments = [Segment_1] 

Вы устанавливаете Segments прежде чем определить Segment_1, поэтому не определено.

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