2015-07-15 1 views
2

мне нужно пройти время в формате с двоеточием в качестве аргументаНе может провести время в качестве аргумента функции

var carSlider = new Slider(
    'car_slider', 
    { 
     minVal: "11:30", 
     maxVal: 500, 
     onChange: function() { console.log(arguments); } 
    } 
); 

Я использую приведенный выше код, чтобы пройти

Но затем он показывает следующее сообщение об ошибке

SyntaxError: отсутствует} после списка свойств

...ider('bus_depart_slider',{minVal:11:30,maxVal:500,onChange: function() {console.... 
+0

Это не php, то есть js, используйте правильный тег mate :) – jycr753

+4

Код, который вы отправили для 'car_slider', выглядит правильно (синтаксически говоря). Покажите нам полный код для 'bus_depart_slider' (где вы действительно получите сообщение об ошибке). – blex

ответ

1

сообщение об ошибке говорит, что все это, хотя, как мо сообщения о первой половине битвы расшифровывают, что это значит!

SyntaxError: missing } after property list

Когда это относится к «список свойств», что это обычно означает, что это объект буквальным, где список свойств приведен список свойств, содержащийся в этом объекте буквального

var myObjLiteral = { 
     prop: "foo" 
}; 

В приведенном выше коде, если Я опустил закрытие } я хотел бы получить вышеуказанную ошибку

var myObjLiteral = { 
     prop: "foo" 

// error here - SyntaxError: missing } after property list 

var nextLine = "bar" 

Теперь, со ссылкой на свой код, вы передаете 2 параметров Slider - первая строка, второй объект буквальный:

var carSlider = new Slider(
    'car_slider', // argument 1 (string) 
    { 
     minVal: "11:30", 
     maxVal: 500, 
     onChange: function() { console.log(arguments); } 
    } // argument 2 (object literal) 
); 

Если опустить скобки закрытия, вы увидите ошибки, описанных

var carSlider = new Slider(
    'car_slider', 
    { 
     minVal: "11:30", 
     maxVal: 500, 
     onChange: function() { console.log(arguments); } 

    // SyntaxError: missing } after property list   

); 

Другим способом получить это сообщение об ошибке передавая строковую переменную без ее обертки в кавычках - интерпретатор javascript, вероятно, попытается проанализировать то, что вы намеревались в качестве строки, вместо этого в качестве объявления переменной или функции. Конечным результатом обычно является то, что он считает вы забыли закрыть } как в приведенном выше примере.

var carSlider = new Slider(
    'car_slider', 
    { 
     minVal: 11:30, // <-- look here 
     maxVal: 500, 
     onChange: function() { console.log(arguments); } 
    } 
); 

В приведенном выше примере, вместо передачи строки "11:30" ив забыл кавычки. Javascript попытается оценить 11:30, как будто это объявление. Значение : имеет специфическое значение в синтаксисе javascript (как часть тройного оператора), но остальная часть не имеет смысла в контексте, который он размещает.

Я не уверен, какие из этих двух ошибок вы сделали, но одна из них будет причиной.

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