javascript使用eval函数动态执行字符串

eval函数是javascript自带的一个动态解析执行的函数。比如:某个场景下,你得到一个字符串var str = "alert('hellojava.com')"你需要执行这个alert.你会怎么...

eval函数是javascript自带的一个动态解析执行的函数。

比如:某个场景下,你得到一个字符串

var str = "alert('hellojava.com')"

你需要执行这个alert.

你会怎么做。

如果没有eval函数,我觉得你很可能只能解析出 hellojava.com 然后alert出来。

但是如果这个 str 字符串是你事先无法预知的,那你就没办法去做针对性的操作了。

这时候你就可以使用eval函数

var str = "alert('hellojava.com')"
eval(str)

运行效果就是:

image.png


eval函数还有一个最常用的地方就在于解析数据结构,比如json

我接收到了数据

我们都知道 如果是

{"website":"www.hellojava.com"};

我们只需要 data.website 就可以获取到 www.hellojava.com

但是如果我们得到的事这样的

"{\"website\":\"www.hellojava.com\"}";

我们又该如何执行呢

我们只需要:

var data = eval("("+"{\"website\":\"www.hellojava.com\"}"+")");
console.log(data.website)

就可以了。

image.png

  • 发表于 2018-03-13 14:21
  • 阅读 ( 807 )
  • 分类:前端

条评论

请先 登录 后评论
不写代码的码农
三叔

422 篇文章

作家榜 »

  1. 小编 文章
返回顶部
部分文章转自于网络,若有侵权请联系我们删除