var user = eval('(' + http.responseText + ')');你这东西也没有意义啊。
解决方案 »
- 求easyui ie7 下兼容性问题
- js来判断是否值已改变,但没有办法实现
- 怎么用DOM的方式实现这样的效果?
- 帮忙解释
- 在线高分求救:在ASP中,如何动态定义javascript变量?(解答出来再开新贴给分)
- 探讨:请问,象我们这个网站有新贴就放到前面,他的后台是什么支持的啊!
- 关闭ie后如何弹出一个小IE窗口?
- 关于HTML在线编辑器的使用的问题,在线等待!!!!<IFRAME>
- js cells.length IE下可用 CHROME下提示错误,请问是什么原因(高分悬赏)
- 怎么写一个下载窗口,类似下图的下载窗口,求代码实现
- 100分求图片翻页显示效果
- IE!!IE!!这个怪了.谁能解释!
不加不会返回值
好比
var wc = eval("{}");
alert(wc);
就是undefined;
如果
var wc = eval("({})");
alert(wc);
就是object这个()
就是返回的意思。
有一个很典型的写法(function () {
})();
这个就是把函数返回,然后执行。
{}能表示一个对象
eval("{}")就不能
用eval就一定要括号
想不明白啊
--------------------
也不一定的,比如 var arr = eval( "[1,2,3]" ); 就可以正确返回数组。
<!--
//1
var arrayStr = "['a', 'b']";
arrayObj = eval(arrayStr);
alert(arrayObj[0]); //2.
var str = "{attr1: 'attribute1', attr2: 'attrbiute2'}";
eval("var obj = " + str);
alert(obj.attr1);
//-->
</script>对于一般的变量、函数调用,可用方式1,但对于类似{}对象,须要方式2
但是我觉得还是最好不用eval()因为人家可以嵌入代码在里面执行~~~
那个内层的'('是用来组合字符串的
比如你那个http.responseText = key:value
那么eval的是(key:value)
即string = "(key:value)"
eval(string)
var wc = eval("({})");
里面的括号为什么是必须的呢
有什么意义"为了返回值",那为什么这样才有返回值
这里的执行过程是怎么样的呢
var str = "123";
var aa = eval(str);
alert(aa);那应该说明eval是能返回值的
但对于对象就不行
var str = "{}";
var bb = eval(str);
alert(bb);
要这样
var str = "{}";
var bb = eval("("+str+")");
alert(bb);1 是不是eval能返回一般变量但不能返回对象
2 为什么加了括号就可以返回了,是规定这样的还是执行方式不同了还是什么其他原因
3 那个(function () {})();写法确实经典,那是不是说明小括号能使对象返回一个指针
4 同样的 eval("("+str+")"); 估计也是返回了对象的指针而不是对象本身所以能正确返回
5 那我想var b = {};其实b也只是指针所以eval返回指针当然也是可以的
6 那最后就只是一个问题了,eval是不是不能返回对象
3.有点递归味道~~~具体我也说不上
var str = "{}";
var bb = eval(str);
alert(bb);
也是上面我说的问题,不过这只是个人理解,呵呵~`
alert(item.attr1);
alert(item.attr2);这样能够成功的的到值attrvalue1,attrvalue2现在的问题是,如果这些attrvalue1上一般的字符串啊,数据啊什么的时候是可以的,但是如果出现一些特殊的字符如"\","@","."
js客户端这边会报没有正常的结束字符串我的attrvalue1值为:---------------
尊敬的@name@先生/女士:
感谢您使用,2007-03-26至2007-05-01我将推出,月月有奖活动,欢迎踊跃参与.-----------------
欢迎大家讨论啊!