日期:2014-05-16  浏览次数:20459 次

eval是不是不能返回对象
var   a   =   eval( " 'ff ' ");
var   b   =   eval( "{} ");
alert(a);
alert(b);

字符串能正常返回
对象就不行
对象只有返回句柄才有效
var   c   =   eval( "({}) ");
alert(c);

这样写比较好理解
var   cc   =   {}
var   c   =   eval( "cc ");
alert(c);

eval是不是不能返回对象本身呢

------解决方案--------------------
他返回的是对象的引用,可以从这个例子看出来:
<script>
var obj1 = {}
obj1.a = "obj1 ";
var obj2 = eval( "obj1 ");
alert( "obj1: "+obj1.a);

obj2.a = "obj2 ";
alert( "obj1: "+obj1.a);

obj1.a = "obj1 ";
alert( "obj2: "+obj2.a);
</script>
------解决方案--------------------
Evaluates a string of JavaScript code without reference to a particular object.
------解决方案--------------------
evel就是返回对象的啊
------解决方案--------------------
在js中,对象是属于引用类型的~
所以对象的操作都是操作的对象的引用,不可能返回对象本身。。。