Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/arrays/13.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
请解释一下这个javascript结构_Javascript_Arrays_Json - Fatal编程技术网

请解释一下这个javascript结构

请解释一下这个javascript结构,javascript,arrays,json,Javascript,Arrays,Json,我对javascript不太熟悉。有人能给我解释一下这个结构吗 [{a:"asdfas"},{a:"ghdfh",i:54},{i:76,j:578}] 这个构造声明了什么?我可以看到这是一个由3个元素组成的数组,对吗?这个数组中的每个元素都是一个类,是用JSON格式声明的,不是吗?我不需要使用任何脚本来使用JSON,是吗?这声明了一个由3个对象组成的数组。此数组的第一个对象包含一个字符串属性a=asdfas。数组中的第二个对象包含两个属性a=ghdfh和i=54。最后一个对象包含两个数值属性

我对javascript不太熟悉。有人能给我解释一下这个结构吗

[{a:"asdfas"},{a:"ghdfh",i:54},{i:76,j:578}]

这个构造声明了什么?我可以看到这是一个由3个元素组成的数组,对吗?这个数组中的每个元素都是一个类,是用JSON格式声明的,不是吗?我不需要使用任何脚本来使用JSON,是吗?

这声明了一个由3个对象组成的数组。此数组的第一个对象包含一个字符串属性a=asdfas。数组中的第二个对象包含两个属性a=ghdfh和i=54。最后一个对象包含两个数值属性a=76和j=578。因此,这表示一个javascript对象,您无需声明任何脚本即可使用它:

var array = [ { a: "asdfas" }, 
              { a: "ghdfh", i: 54 }, 
              { i: 76, j: 578 }
            ];
alert(array[1].i); // prints the i property of the second item in the array: 54

这声明了一个包含3个对象的数组。此数组的第一个对象包含一个字符串属性a=asdfas。数组中的第二个对象包含两个属性a=ghdfh和i=54。最后一个对象包含两个数值属性a=76和j=578。因此,这表示一个javascript对象,您无需声明任何脚本即可使用它:

var array = [ { a: "asdfas" }, 
              { a: "ghdfh", i: 54 }, 
              { i: 76, j: 578 }
            ];
alert(array[1].i); // prints the i property of the second item in the array: 54

这是一个对象文本数组。在脚本中使用JSON对象不需要任何脚本或特殊库,但根据实现的不同,可能需要使用脚本在AJAX请求中使用JSON。有关详细信息,请参阅:


编辑:根据评论中的讨论进行更正。

这是一个对象文本数组。在脚本中使用JSON对象不需要任何脚本或特殊库,但根据实现的不同,可能需要使用脚本在AJAX请求中使用JSON。有关详细信息,请参阅:


编辑:根据评论中的讨论进行更正。

它只是一个由3个元素组成的数组。每个元素都是一个对象。第一个具有与“asdfas”值关联的a键。第二个是我输入的54值等

它可以这样建造:

var arr = []; //[] <= array

var first = {}; // {} <= object
first.a = "asdfas"; // object.key = value, same by doing var first = {a:"asdfas"}
arr.push(first); //pushing an object inside the array

//arr status: [{a:"asdfas"}]

var second = {};
second.a = "ghdfh";
second.i = 54;
arr.push(second);

//arr status: [{a:"asdfas"},{a:"ghdfh",i:54}]

var third = {};
third.i = 76;
third.j = 578;
arr.push(third);

//arr status: [{a:"asdfas"},{a:"ghdfh",i:54},{i:76,j:578}]

alert(arr[2].j) //third element of the array => object => key j => alerts j value 578

它只是一个由3个元素组成的数组。每个元素都是一个对象。第一个具有与“asdfas”值关联的a键。第二个是我输入的54值等

它可以这样建造:

var arr = []; //[] <= array

var first = {}; // {} <= object
first.a = "asdfas"; // object.key = value, same by doing var first = {a:"asdfas"}
arr.push(first); //pushing an object inside the array

//arr status: [{a:"asdfas"}]

var second = {};
second.a = "ghdfh";
second.i = 54;
arr.push(second);

//arr status: [{a:"asdfas"},{a:"ghdfh",i:54}]

var third = {};
third.i = 76;
third.j = 578;
arr.push(third);

//arr status: [{a:"asdfas"},{a:"ghdfh",i:54},{i:76,j:578}]

alert(arr[2].j) //third element of the array => object => key j => alerts j value 578

它是由3个对象组成的数组

括号[]表示一个数组

数组中的每个项都是一个对象,如大括号{}所示。您可以将其中的每一个看作是一个哈希表,其中a:asdfas意味着您可以引用a来查找字符串值。例如:

var data = {a:"asdfas"};
alert( data.a ); // Echos "asdfas"
关于你的问题:

我不需要使用任何脚本来使用JSON,是吗


不,JSON只是JavaScript对象符号,所以它只是JavaScript代码。但是,如果需要将JavaScript数据结构编码为JSON,或者需要从字符串解码JSON,则需要/希望使用第三方库,如json2.js。

它是一个由3个对象组成的数组

括号[]表示一个数组

数组中的每个项都是一个对象,如大括号{}所示。您可以将其中的每一个看作是一个哈希表,其中a:asdfas意味着您可以引用a来查找字符串值。例如:

var data = {a:"asdfas"};
alert( data.a ); // Echos "asdfas"
关于你的问题:

我不需要使用任何脚本来使用JSON,是吗


不,JSON只是JavaScript对象符号,所以它只是JavaScript代码。但是,如果需要将JavaScript数据结构编码为JSON,或者需要从字符串解码JSON,则需要/希望使用第三方库,如json2.js。

问题是什么?是的,它是一个由3个元素组成的数组,每个元素都是一个对象。JSON格式也指定要用引号括起来的键。问题是什么?是的,它是一个由3个元素组成的数组,每个元素都是一个对象。JSON格式指定要用引号括起来的键。var first={};-这是一个空对象的创建,您稍后会用属性扩展它吗?确切地说,您也可以直接在数组中创建一个对象,但这只是为了解释它是如何工作的:。。我刚刚添加了一些评论;var first={};-这是一个空对象的创建,您稍后会用属性扩展它吗?确切地说,您也可以直接在数组中创建一个对象,但这只是为了解释它是如何工作的:。。我刚刚添加了一些评论;不,那不是JSON。这些都是javascript对象文字。我本来想回来的是JSON是对象文字的子集,你在挑剔!。但后来我注意到属性名周围缺少引号,以及其他语法问题,这些问题使得他发布的字符串不是有效的JSON。我同意,先生+1是的,我不喜欢吹毛求疵,但这是一个常见且可以理解的错误。最终,如果数据不是文本字符串,那么它就不是JSON。谢谢你容忍我;oNo,这不是JSON。这些都是javascript对象文字。我本来想回来的是JSON是对象文字的子集,你在挑剔!。但后来我注意到属性名周围缺少引号,以及其他语法问题,这些问题使得他发布的字符串不是有效的JSON。
我同意,先生+1是的,我不喜欢吹毛求疵,但这是一个常见且可以理解的错误。最终,如果数据不是文本字符串,那么它就不是JSON。谢谢你容忍我;oSo这表示用于声明对象的JSON符号。。。这只会增加人们对JSON数据和javascript对象之间的混淆。它们只是一个数组和对象文本。当然,它们可以字符串化为JSON数据,但在此之前,它们与JSON没有任何关系。@patrick dw,很好的观点。我已经更新了我的答案以考虑到这一点。我完全同意你的观点。所以这代表了一个用于声明对象的JSON符号。。。这只会增加人们对JSON数据和javascript对象之间的混淆。它们只是一个数组和对象文本。当然,它们可以字符串化为JSON数据,但在此之前,它们与JSON没有任何关系。@patrick dw,很好的观点。我已经更新了我的答案以考虑到这一点。我完全同意你的看法。