我需要以冒号格式传递时间作为参数
var carSlider = new Slider(
'car_slider',
{
minVal: "11:30",
maxVal: 500,
onChange: function() { console.log(arguments); }
}
);
我是用上面的代码来传递
但随后显示如下错误
语法错误:属性列表后缺少}
...ider('bus_depart_slider',{minVal:11:30,maxVal:500,onChange: function() {console....
最佳答案
错误消息说明了一切,尽管像大多数错误消息一样,成功的一半是破译其含义!
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 语法中有特定的含义(作为三元运算符的一部分),但它的其余部分在它所在的上下文中没有意义。
我不确定您犯了这两个错误中的哪一个,但其中一个将是原因。
关于javascript - 不能将时间作为参数传递给函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31427029/