为什么 <script> {'foo':'bar'}</script> 导致Uncaught SyntaxError:意外的令牌:在chrome
而<script> {foo:'bar'}</script>就好了.
Guf*_*ffa 10
因为它不是对象文字,所以它是一个代码块.括号内的内容未被解析为键值对,它被解析为代码.
foo: 'bar'是一个很好的代码,就像foo:一个标签,'bar'是一个表达式.
'foo': 因为代码作为标签不能是字符串,它必须是一个标识符.
要使它成为一个对象文字,你必须使它成为一个表达式,如:
<script> var x = {'foo':'bar'}</script>
Run Code Online (Sandbox Code Playgroud)
要么:
<script> ({'foo':'bar'})</script>
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
936 次 |
| 最近记录: |