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

相关文章

事件冒泡和事件捕获 起因:今天在封装一个bind函数的时候,发现el.addEventListener函数支持第三个参数...
js小数运算会出现精度问题 js number类型 JS 数字类型只有number类型,number类型相当于其他强类型语言...
什么是跨域 跨域 : 广义的跨域包含一下内容 : 1.资源跳转(链接跳转,重定向跳转,表单提交) 2.资源...
@ &quot;TOC&quot; 常见对base64的认知(不完全正确) 首先对base64常见的认知,也是须知的必须有...
搞懂:MVVM模式和Vue中的MVVM模式 MVVM MVVM : 的缩写,说都能直接说出来 :模型, :视图, :视图模...
首先我们需要一个html代码的框架如下: 我们的目的是实现ul中的内容进行横向的一点一点滚动。ul中的内容...