一般说对象属性名和变量名命名规则一样,如果违反规则,就得加上引号,但是在 chrome 中执行var obj = {1: 1}; 时也可以正常执行,请问这是为什么?是不是浏览器在执行这个代码的时候,自动给 1 转化为 string 了?
人生最曼妙的风景,竟是内心的淡定与从容!
正解,把数字的 key 转化为字符。
var obj = {1: 2}; for (var x in obj) { alert(typeof x); // 输出为 string }
phpvar obj = {name-new:'sf'};//error var obj = {'name-new':'sf'}//ok
php
var obj = {name-new:'sf'};//error var obj = {'name-new':'sf'}//ok
……我看了半天才看明白你的问题
答案是YES
JSON.stringify({1:1}) JSON.parse('{1:1}')
你可以试试。
正解,把数字的 key 转化为字符。
……我看了半天才看明白你的问题
答案是YES
你可以试试。