javascript – 在json数组中使用变量作为标识符

前端之家收集整理的这篇文章主要介绍了javascript – 在json数组中使用变量作为标识符前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我想知道是否可以在json数组中使用分配的变量作为标识符.当我尝试这个,我得到了一些意想不到的结果:

(代码简化,参数以不同的方式传递)


var parameter = 'animal';
var value = 'pony';

Util.urlAppendParameters (url,{parameter : value});


Util.urlAppendParameters = function(url,parameters) {
    for (var x in parameters) {
        alert(x);
    }
}

现在,警报弹出窗口说:’parameter’而不是’animal’.我知道我可以使用不同的方法(创建一个数组并在新行上分配每个参数),但是我想保持我的代码紧凑.

所以我的问题是:是否可以在json数组中使用一个变量作为标识符,如果可以,请告诉我怎么样?

提前致谢!

解决方法

不,您不能使用变量作为对象字面值中的标识符.解析器期待一个名称,所以你不能做很多其他,但提供一个字符串.同样,你不能这样做:
var parameter = 'animal';
var parameter = 'value'; //<- Parser expects a name,nothing more,so original parameter will not be used as name

唯一的办法是,如果你真的想在一行中使用一个对象文字就是使用eval:

Util.urlAppendParameters (url,eval("({" + parameter + " : value})");

猜你在找的JavaScript相关文章