一个奇奇怪怪的js问题

[code=JScript]
<script type="text/javascript">
 var a = function(msg){

  //1
  var datas = eval(msg);
  alert(datas.success);


  //2
  var datas = eval("(" + msg + ")");
  alert(datas.success);

  //3
  eval("datas=" + msg);
  alert(datas.success);
 };

a("{success:true}");

</script>

[/code]

三个alert,打印的结果为什么不同??这三段js有什么不同,第二端,为什么,要加小括号,

奇怪,请高手指教???

你可能感兴趣的:(一个奇奇怪怪的js问题)