JavaScript里的eval()方法 与JSON的关系?



项目中用到JSON,以前也只是听说过,这是我第一次用,现在有一个问题,贴出来作为积累,也很是希望能有高手指点一下.

在JSP页面中,有这样的一段javascript代码:

<script Language="javascript">
    var menulist = eval(<c:out value='${model.menuListString}' escapeXml='false'  />);
</script>

这里的eval()方法也是第一次用,Google后找到了下面的说明(网址为http://today.java.net/pub/a/today/2006/04/27/building-ajax-with-dojo-and-json.html#what-is-json):

JSON is a Java library that helps convert Java objects into a string representation. This string, when eval()ed in JavaScript, produces an array that contains all of the information that the Java object contained. JSON's object notation grammar is suitable for encoding many nested object structures. Since this grammar is much smaller than its XML counterpart, and given the convenience of the eval() function, it is an ideal choice for fast and efficient data transport between browser and server.

可这个eval()是具体干什么的?在下面的这个
    var menulist = eval(<c:out value='${model.menuListString}' escapeXml='false'  />);
代码里把eval()删去后没发现什么影响.

在http://www.w3schools.com/jsref/tryit.asp?filename=tryjsref_eval页面中看到下面的演示代码:

        <script type="text/javascript">

        eval("x=10;y=20;document.write(x*y)");
        document.write("<br />");

        document.write(eval("2+2"));
        document.write("<br />");

        var x=10;
        document.write(eval(x+17));
        document.write("<br />");

        eval("alert('Hello world')");

        </script>
可这与JSON又有什么关系呢?
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值