我的代码就像
var param="abc";
var data = {abc:1,xyz:2};//json data
console.log(data.abc);
//console.log(data.param);
这里 m 访问data
using data.abc
,其结果为 1。但是当我尝试使用参数传递此“abc”时,param
它显示未定义。
在这里,如果没有天气,可以data
使用param
如果是,那么如何访问?
有人可以帮我吗???
我的代码就像
var param="abc";
var data = {abc:1,xyz:2};//json data
console.log(data.abc);
//console.log(data.param);
这里 m 访问data
using data.abc
,其结果为 1。但是当我尝试使用参数传递此“abc”时,param
它显示未定义。
在这里,如果没有天气,可以data
使用param
如果是,那么如何访问?
有人可以帮我吗???
JSON 只是一种序列化格式,它在字符串中使用基于文本的 JavaScript 子集——在 JavaScript 中使用对象不是 JSON(我承认它的名称有点令人困惑,至少可以这么说)。
要执行您想要的操作,只需使用方括号表示法:
console.log(data[param]);
它允许将任何表达式放入其中,并将返回值转换为字符串,然后用于访问对象上的属性 - 这允许param
动态使用变量等。
例如,以下是使用方括号表示法时出现的一些结果:
var foo =
{ '[object Object]': 1
, bar: 2 };
var x = "bar";
foo[{}]; // 1
foo['[object Object]']; // 1
foo.[object Object]; // SyntaxError: Unexpected token [
foo[bar]; // ReferenceError: bar is not defined
foo.bar; // 2
foo["bar"]; // 2
foo[x]; // 2
foo.x; // undefined
console.log(data[param]);
应该这样做。