A JavaScript Fancier

伟大的javascript技术研究中...

  IT博客 :: 首页 :: 新随笔 :: 联系 :: 聚合  :: 管理 ::
  304 随笔 :: 0 文章 :: 359 评论 :: 0 Trackbacks


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

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

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

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

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

posted on 2007-12-05 17:41 Yemoo'S JS Blog 阅读(1026) 评论(1)  编辑 收藏 引用 所属分类: javascript技巧总结

评论

# re: 使用eval动态创建变量的一个小提示[未登录] 2009-06-07 21:12 Joy
嗯嗯,很好很有用!!  回复  更多评论
  


每天10分钟,轻松学英语
专题:iPad  jQuery  Chrome OS
博客园首页  IT新闻  程序员微博  招聘频道  学英语
标题  
姓名  
主页
验证码 *
内容(提交失败后,可以通过“恢复上次提交”恢复刚刚提交的内容)
 
  登录  使用高级评论  新用户注册  返回页首  恢复上次提交      
[使用Ctrl+Enter键可以直接提交]
Windows 7专题

相关链接: