2012-01-29 3 views
2

Я пишу слайд-шоу javascript, но Firebug говорит мне, что в синтаксисе есть что-то, но я просто не вижу, что случилось! Вот фрагмент кода:Что случилось с моим синтаксисом JavaScript?

<script language="javascript" type="text/javascript"> 

var data = new Array(); 

var data[0] = new Array(); 
var data[0]['id'] = 'example'; 
var data[0]['height'] = 190; 

</script> 

Firebug говорит:

missing ; before statement 

var data[0] = new Array(); 

Проблема? Ну, я просто не понимаю, где проблема! Может ли кто-нибудь объяснить мне ошибку? Спасибо!

ответ

5

Вы не можете объявить индекс массива. Потеряйте var на всех, кроме первой линии.

+2

правильный ответ, и, кроме того, вы не должны объявить массив с помощью 'новый Array() ; ', но через' [] ', потому что это считается лучшей практикой. поэтому первая строка должна сказать 'var data = [];' –

+3

Также похоже, что он хочет '{}' вместо 'new Array' для второй строки – zellio

+0

Спасибо за быстрые ответы! Это поставило проблему. Также благодарим вас за советы «лучшей практики»! –

0

Держите только первое утверждение «переменной», он будет работать так:

var data = []; 

data[0] = []; 
data[0]['id'] = 'example'; 
data[0]['height'] = 190; 

Посмотрите http://jsfiddle.net/cmTBc/

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