Почему это не eval вызов alert("Summer")?
eval
alert("Summer")
eval('(caption="Summer";alert(caption))');
Имеет ли это какое-то отношение к кавычкам в "Summer"
Uncaught SyntaxError: Unexpected token ;
Внешние скобки не имеют синтаксического смысла. Попробуйте это:
eval('caption="Summer";alert(caption)');
Хромированная консоль:
eval('(caption="Summer";alert(caption))') SyntaxError: Unexpected token ;
Это работает:
eval('caption="Summer"; alert(caption)')
Дополнительные скобки неправильные, это правильно:
Более лучший способ сделать это и избежать проблем с синтаксисом - выполнить следующее,
eval(function(){var x="test"; alert(x)}());