Chinaunix首页 | 论坛 | 博客
  • 博客访问: 1165802
  • 博文数量: 1310
  • 博客积分: 3980
  • 博客等级: 中校
  • 技术积分: 8005
  • 用 户 组: 普通用户
  • 注册时间: 2008-05-09 22:05
文章分类

全部博文(1310)

文章存档

2011年(1)

2008年(1309)

我的朋友

分类:

2008-11-09 17:41:18



eval虽然是一个很消耗资源的操作,但很多时候我们还非要靠它不可。

比如使用eval动态创建变量,如var a="str",我们可能希望将a的值str创建成为一个变量并赋值为test,这时大概只能靠eval了。

第一次偶遇到这个问题,想都没想直接来了下面一句代码:eval(a)="test",结果一执行就给出了一个错误:“不能给函数返回值赋值”,顿时恍然大悟,eval怎么说也是个函数啊,我们大概都没有写过如myfunc(a)=""的语句。因为函数本身返回的也是一个值,将一个值赋给一个值当然不会正确了。

因为eval的强大和其特殊差点使我忘记了它还是个函数。

正确的写法应该这样:eval(a+"='test'");
即将整个语句eval即可,一点小提示,以后不能再犯这种低级错误了!



Yemoo'S JS Blog 2007-12-05 17:41 发表评论
阅读(181) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~