Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / HTML, JavaScript, VBScript, CSS [игнор отключен] [закрыт для гостей] / JS. eval и присовение объекта / 5 сообщений из 5, страница 1 из 1
10.07.2008, 14:58
    #35423187
last_elf
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
JS. eval и присовение объекта
Вопрос, почему первый вариант работает, а второй нет? Первый, мне лично кажется более читабельным и красивым..

Код: plaintext
1.
2.
3.
4.
5.
6.
var obj_text = '{"par1" : 1}';

// Не работает! SyntaxError: invalid label
// var obj1 = eval(obj_text); 

// Работает!
eval ('var obj2 = ' + obj_text); 
...
Рейтинг: 0 / 0
10.07.2008, 15:15
    #35423248
krvsa
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
JS. eval и присовение объекта
last_elfПервый, мне лично кажется более читабельным и красивым..
Может оно и так...
Только ответ на твой вопрос в самом описании eval
авторОписание метода eval

Выполнение строки как код JavaScript.
Если вот это
Код: plaintext
{"par1" :  1 }
Записать строкой в некоем скрипте он тоже не выполнится...
А вот такое
Код: plaintext
var obj2 = {"par1" :  1 }
Выполнится...
...
Рейтинг: 0 / 0
10.07.2008, 15:49
    #35423405
last_elf
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
JS. eval и присовение объекта
Блин, ну так дело не в eval.

Почему такой бред, что переменную и массив можно вызывать где хочешь (например - x, {x}, ["a", "b"]), а объект, видете ли, нельзя - его можно только в правой части равентсва использовать. Чушь полная.
...
Рейтинг: 0 / 0
10.07.2008, 15:57
    #35423444
krvsa
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
JS. eval и присовение объекта
last_elfЧушь полная.
Вероятно вам прямая дорога в разработчики JS!
...
Рейтинг: 0 / 0
10.07.2008, 18:33
    #35423949
apapacy
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
JS. eval и присовение объекта
last_elfВопрос, почему первый вариант работает, а второй нет? Первый, мне лично кажется более читабельным и красивым..

Код: plaintext
1.
2.
3.
4.
5.
6.
var obj_text = '{"par1" : 1}';

// Не работает! SyntaxError: invalid label
// var obj1 = eval(obj_text); 

// Работает!
eval ('var obj2 = ' + obj_text); 


Вобщем это все особенности синтаксического разбора и соучайдавно известный.
Так работает

eval ('( ' + obj_text+')');
...
Рейтинг: 0 / 0
Форумы / HTML, JavaScript, VBScript, CSS [игнор отключен] [закрыт для гостей] / JS. eval и присовение объекта / 5 сообщений из 5, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]