首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 网站开发 > JavaScript >

eval是不是不能返回对象解决思路

2012-02-02 
eval是不是不能返回对象varaeval( ff)varbeval( {} )alert(a)alert(b)字符串能正常返回对象就

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中,对象是属于引用类型的~
所以对象的操作都是操作的对象的引用,不可能返回对象本身。。。

热点排行