объясните эту конструкцию javascript, пожалуйста - PullRequest
1 голос
/ 15 февраля 2011

Я не слишком знаком с JavaScript.Может кто-нибудь объяснить мне эту конструкцию?

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

Что объявляет эта конструкция?Я вижу, что это массив, который состоит из 3 элементов, верно?И каждый элемент в этом массиве является классом, который объявлен в формате JSON, не так ли?И мне не нужно использовать какие-либо сценарии для использования JSON, не так ли?

Ответы [ 4 ]

4 голосов
/ 15 февраля 2011

Это просто массив, состоящий из 3 элементов.Каждый элемент является объектом.Первый из них имеет ключ a со связанным значением asdfas.Второй ключ i со значением 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
4 голосов
/ 15 февраля 2011

Это объявляет массив из 3 объектов.Первый объект этого массива содержит одно строковое свойство a = "asdfas".Второй объект в массиве содержит два свойства a = "ghdfh" и i = 54.И последний объект содержит два числовых свойства a = 76 и j = 578.Так что это представляет собой объект javascript, и вам не нужно объявлять сценарии для его использования:

1 голос
/ 15 февраля 2011

Это массив из 3 объектов.

Скобки [] указывают на массив.

Каждый элемент в массиве является объектом, как указано в фигурных скобках {},Вы можете думать о каждом из них как о хеш-таблице, где a : "asdfas" означает, что вы можете ссылаться на a, чтобы найти строковое значение.Например:

var data = {a:"asdfas"};
alert( data.a ); // Echos "asdfas"

По вашему вопросу:

И мне не нужно использовать какие-либо сценарии для использования JSON, не так ли?

Нет, JSON - это просто нотация объектов JavaScript, поэтому это просто код JavaScript.Однако вам потребуется / вы захотите использовать стороннюю библиотеку (такую ​​как json2.js), если вам нужно кодировать структуру данных JavaScript как JSON или если вам нужно декодировать JSON из строки.

1 голос
/ 15 февраля 2011

Это массив литералов объектов. Вам не нужны никакие сценарии или специальные библиотеки для использования объектов JSON внутри сценария, но в зависимости от вашей реализации может потребоваться использование сценария для использования JSON в запросах AJAX. Для получения дополнительной информации см .: http://www.json.org/

РЕДАКТИРОВАТЬ: исправлено за обсуждение в комментариях.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...