一个奇奇怪怪的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有什么不同,第二端,为什么,要加小括号,

奇怪,请高手指教???

你可能感兴趣的:(JavaScript)