首页 > 代码库 > eval()他是天使也是魔鬼
eval()他是天使也是魔鬼
eval 字面意思 :evaluate 评价 评估评价;
eval函数会评估一个给定的含有JavaScript代码的字符串,并且试图去执行包含在字符串里的表达式或者一系列的合法的JavaScript语句。eval函数将把最后一个表达式或者语句所包含的值或引用作为返回值。
事例代码:
var evalarray=["id","time","info"]; var e=eval(evalarray); console.log(e); //输出:[ ‘id‘, ‘time‘, ‘info‘ ]
var evalarray={"id":1,"time":"15:21","info":"student"}; var e=eval(evalarray); console.log(e); //输出{ id: 1, time: ‘15:21‘, info: ‘student‘ }
var x= 2,y=5; var e=eval("x+y"); console.log(e); //输出 7
console.log(eval(‘{timer:"hello"}‘)); // 输出 hello
加上圆括号的目的是迫使eval函数在评估JavaScript代码的时候强制将括号内的表达式转化为对象而不是作为语句来执行。
例如对象字面量{},
console.log(eval("{}")); // 输出 undefined console.log(eval("({})"));// 输出 {}
如若不加外层的括号,那么eval会将大括号识别为JavaScript代码块的开始和结束标记,
那么{}将会被认为是执行了一句空语句。所以下面两个执行结果是不同的。
evel接受任意的字符串,并当作JavaScript代码来处理。当有问题的代码是事先知道的(不是运行时确定的),没有理由使用eval(),准确地说他是魔鬼!
eval()他是天使也是魔鬼
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。