JavaScript eval - PullRequest
       9

JavaScript eval

2 голосов
/ 15 февраля 2010

Почему это не eval вызов alert("Summer")?

eval('(caption="Summer";alert(caption))');

Имеет ли это какое-то отношение к кавычкам в "Summer"

Ответы [ 4 ]

12 голосов
/ 15 февраля 2010
Uncaught SyntaxError: Unexpected token ;

Внешние скобки не имеют синтаксического смысла. Попробуйте это:

eval('caption="Summer";alert(caption)');
4 голосов
/ 15 февраля 2010

Хромированная консоль:

eval('(caption="Summer";alert(caption))')
SyntaxError: Unexpected token ;

Это работает:

eval('caption="Summer"; alert(caption)')
2 голосов
/ 15 февраля 2010

Дополнительные скобки неправильные, это правильно:

eval('caption="Summer";alert(caption)');
0 голосов
/ 15 февраля 2010

Более лучший способ сделать это и избежать проблем с синтаксисом - выполнить следующее,

eval(function(){var x="test"; alert(x)}());

...