И еще вопрос. Почему сериализованный объект в javascript представляется в виде json? Написано, что стандартной функции сериализации в javascript нет.
Спустя 6 минут, 7 секунд (12.01.2011 - 00:37) Игорь_Vasinsky написал(а):
хз. может по лучше в мануалах почитать....
Спустя 1 минута, 56 секунд (12.01.2011 - 00:39) glock18 написал(а):
Цитата (program90 @ 11.01.2011 - 21:31) |
Подскажите, почему eval, получив текст JSON, преобразует его в объект? В справочнике написано, что eval только выполняет код. А структура данных это же не код. И еще вопрос. Почему сериализованный объект в javascript представляется в виде json? Написано, что стандартной функции сериализации в javascript нет. |
ну, в общем-то ты задал два вопроса. и это тот случай, когда второй вопрос содержит в своей формулировке ответ на первый
Спустя 6 минут, 25 секунд (12.01.2011 - 00:46) glock18 написал(а):
подумал, что может не так еще понятно
json - javascript object notation - естественно, что javascript его должен понимать.
а то что eval('{key1: "value1", key2: "val2"}') вернет объект... ну, представь, что вместо объекта, описанного json, там будет число, и вместо объекта eval вернет его.
честно говоря, не понимаю, почему такой вопрос вообще возник. вроде как очевидно должно быть, если иметь ввиду формат записи объектов/массивов/и прочих данных в javascript и суть функции eval.
json - javascript object notation - естественно, что javascript его должен понимать.
а то что eval('{key1: "value1", key2: "val2"}') вернет объект... ну, представь, что вместо объекта, описанного json, там будет число, и вместо объекта eval вернет его.
честно говоря, не понимаю, почему такой вопрос вообще возник. вроде как очевидно должно быть, если иметь ввиду формат записи объектов/массивов/и прочих данных в javascript и суть функции eval.
Спустя 1 час, 46 минут, 6 секунд (12.01.2011 - 02:32) program90 написал(а):
А откуда этот формат взялся в javascript? Вообще объект хранится в памяти компилятора, интерпретатора или работающей проги в специальном формате зависящем от компилятора. А не в текстовом формате. Т.е. в таком виде как JSON он в памяти вряд ли хранится, с запятыми, кавычками, и скобками. А функций сериализации как в php вроде бы нет.
Спустя 5 часов, 4 минуты, 4 секунды (12.01.2011 - 07:36) glock18 написал(а):
Цитата (program90 @ 11.01.2011 - 23:32) |
А откуда этот формат взялся в javascript? |
ну даешь... надо его стало, вот и сделали его - надо ведь как-то описывать сложные объекты.
Цитата (program90 @ 11.01.2011 - 23:32) |
Вообще объект хранится в памяти компилятора, интерпретатора или работающей проги в специальном формате зависящем от компилятора. А не в текстовом формате. Т.е. в таком виде как JSON он в памяти вряд ли хранится, с запятыми, кавычками, и скобками. |
скажешь тоже... в php массивы тоже не в таком формате хранятся:
array('key1' => 'value1', 'key2' => 'value2')
тем не менее, это не мешает описывать массив в таком формате.
Спустя 1 час, 40 минут, 25 секунд (12.01.2011 - 09:16) program90 написал(а):
glock18
Т.е. в javascript объект object можно задать не только так - new object(), object.color=green? Но еще можно задавать текстом? вроде - new object({color: "red", weight: "100gr"}). Просто ни разу не видел в учебнике этого. Видно недописали.
Т.е. в javascript объект object можно задать не только так - new object(), object.color=green? Но еще можно задавать текстом? вроде - new object({color: "red", weight: "100gr"}). Просто ни разу не видел в учебнике этого. Видно недописали.
Спустя 15 минут, 47 секунд (12.01.2011 - 09:32) Michael написал(а):
program90, в javascript объект также так задается:
массив
По умному называются - литералы.
var obj = {};
массив
var arr = [1,2,3];
По умному называются - литералы.
Спустя 7 часов, 6 минут, 7 секунд (12.01.2011 - 16:38) program90 написал(а):
Michael
Спасибо. Нашел ссылку http://habrahabr.ru/blogs/javascript/17613/. (не знаю можно ли выложить здесь)
Спасибо. Нашел ссылку http://habrahabr.ru/blogs/javascript/17613/. (не знаю можно ли выложить здесь)