微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

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})");

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐