JavaScript中使用反引号模板字符串后无法追加对象属性问题求助
问题解决方式
你遇到的运行异常和模板字符串(反引号)后加逗号的语法本身无关,核心问题有两个:
- 你写的待追加的代码中,
<a>标签的href属性值和target属性之间缺少空格分隔,属于HTML语法错误,部分代码编辑器的语法校验会误将这个非法内容判定为模板字符串未闭合,导致你加逗号后提示语法错误 - 你之前尝试添加的退格符属于不可见特殊字符,会破坏原有代码结构,反而会触发模板字符串识别异常
正确修改代码
修正后的know对象写法如下,模板字符串结束后直接加逗号就是合法的JS对象语法:
var know ={ "How does this work":"I can help you find what you're looking for.", "how does this work":"I can help you find what you're looking for.", "contact":`You can contact us by clicking <a href='https://addressname.com' target="_blank">here</a>`, "help":`You can find help by clicking <a href='https://addressname.com' target="_blank">here</a>` };
验证注意事项
- 修改前先删除原有代码中所有不可见的特殊字符,避免隐形语法错误
- HTML标签的多个属性之间必须用空格分隔,否则会触发浏览器解析异常
- 如果需要兼容不支持ES6模板字符串的老旧环境,可以把反引号替换为单引号,内部的双引号加反斜杠转义即可
内容的提问来源于stack exchange,提问作者John Greggor
相关产品推荐
相关产品推荐

