组合成了字符串str,下一步就是eval方法转换成对象了<script type="text/javascript">
var a=50,b="xxx";
var str="{id:"+a+",name:'"+b+"'}";
arr=eval('('+arr+')')
alert(arr.name);
</script>这里会报出一个错,xxx未定义,求各位牛人帮忙解释一下???
十万火急
var a=50,b="xxx";
var str="{id:"+a+",name:'"+b+"'}";
arr=eval('('+arr+')')
alert(arr.name);
</script>这里会报出一个错,xxx未定义,求各位牛人帮忙解释一下???
十万火急
解决方案 »
- 遇到一个js兼容问题 Ie版本下显示不同
- JS和JAVA传值问题
- 高分求动态导航栏的思路与代码
- google map 上面如何画框?效果类似www.woxiangyougejia.com
- 关于jquery的mousewheel事件
- 请问能不能让浏览者在一段时间内不能操作网页
- javaScript里面的四舍五入的问题
- 如何实现“鼠标在某网页上移动时,该网页自动返回其前一页"?
- 怎么用程序得到一个相当于按“Tab”键的效果?
- 以resizeable=no打开的窗口要恢复为resizeable=yes,怎么办?
- javascript中如何在原事件的基础上加上新的方法?
- js控制几个flash循环播放,大家看看我哪写错了。
var a=50,b="xxx";
var str="{id:"+a+",name:'"+b+"'}";
var arr=eval('('+str+')')
alert(arr.name);
我试过了,会出现一个错误就是 xxx 未定义,为什么会出现这个错误????
<script type="text/javascript">
var a=50,b="xxx";
var str="{id:"+a+",name:'"+b+"'}";
var arr
eval("arr=" + str);
alert(arr.name);
</script>
这样才对。
var b="xxx";
var str="{id:"+a+",name:'"+b+"'}";
arr=eval("arr=" + str)
alert(arr.name); 不同类型的变量不能在同一行定义
arr=eval('('+arr+')')
==应为==
arr=eval('('+str+')')
另外:
<script type="text/javascript">
var a=50,b="xxx";
var str="{id:a,name:b}";//这样就可以了
var arr=eval('('+str+')')
alert(arr.id);
alert(arr.name);
</script>
var a=50,b="xxx";
var str="{id:"+a+",name:'"+b+"'}";
arr=eval('('+str+')')
alert(arr.name);
</script>这样就OK了