在前端开发项目中,运行的时候发现报错:SyntaxError: missing : after property id。也挺恼火的,找了半天没发现问题所在。
后面经过大神知道发现问题所在。分享下给大家!
哪里出错了?
当使用对象初始化语法创建对象的时候,需要使用半角冒号 (:) 将属性键与属性值隔开。
var obj = { propertyKey: 'value' };
示例
冒号与等号
下面的代码会运行失败,原因是对象初始化语法中不允许使用等号来代替冒号。
var obj = { propertyKey = 'value' }; // SyntaxError: missing : after property id
修复方法就是使用冒号,或者是在对象创建之后使用方括号语法来为其设定新的属性。
var obj = { propertyKey: 'value' }; // or alternativelyvar obj = { }; obj['propertyKey'] = 'value';
空属性
不能像下面这样创建空属性:
var obj = { propertyKey; }; // SyntaxError: missing : after property id
假如你需要创建一个无值属性,那么需要将它的值设置为 null
。
var obj = { propertyKey: null };
计算得来的属性
如果需要使用表达式来创建属性键,那么需要使用方括号。否则属性名称不会进行计算:
var obj = { 'b'+'ar': 'foo' }; // SyntaxError: missing : after property id
把计算表达式放置到方括号([]
)中:
var obj = { ['b'+'ar']: 'foo' };
网友评论文明上网理性发言 已有0人参与
发表评论: