var o = 'left';
var obj = {o:333};
代码如上,我觉得奇怪的是,此时用for..in循环读取obj的属性时,第一个属性直接就叫做“o”,为什么不是变量o的值"left"呢? o是一个字符串变量嘛
如果我要把变量o的值传入到obj里面,该怎么写呢?
本来发到随笔里面的,但看的人少,经人指示发到了这里,希望能得到解决啊,谢谢各位
还是这样写吧
var = obj = {};
obj[o] = 333;
一语惊醒梦中人啊。。谢谢
@十年灯:
客气
正解!
var o="left";
eval("var obj = {"+o+":333};");
console.log(obj);//outputs Object { left=333}
这样?
var obj = '{'+o+':333}';
学习了。。。