当心! 您也可能犯得js错 eval()不等于eval("")!

我在项目中有以下情节,做一个ajax查询控件,通过ajax异步将查询条件回传,结果页面根据得到的信息从数据库中取得结果集并展示在隐藏的嵌入式框架中.

就在将程序生成的js代码发到客户端执行的时候,发现,eval("var arr = new Array();arr[0]=new Array('1','上海');"); 注意引号,加上引号的话,当eval函数执行以后,在局部还是取不到arr的值.而去掉"",IE,FF3.6正常适用arr数组.

 

window.eval("ajax.responseText"); 是执行 ajax.responseText 这个东西本身

window.eval(ajax.responseText); 是执行这个东西本身产生的结果。。。。

谢谢Flying Fox 指点.

 

posted @ 2010-03-04 11:16  21天后  阅读(1639)  评论(8编辑  收藏  举报
21