对js eval()函数的一些见解
2019/6/27 22:12:31
本文主要是介绍对js eval()函数的一些见解,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
一、eval是基本使用规则
?1 eval() 函数可计算某个字符串,并执行其中的的 JavaScript 代码。
?2 eval(string)
?3 string必需。要计算的字符串,其中含有要计算的 JavaScript 表达式或要执行的语句。
?4 eval()只有一个参数。
?5 eval使用比较不安全,忘慎重使用
二、eval的错误使用方法
?1 如果传入的参数不是字符串,它直接返回这个函数。
?2 如果参数是字符串,它会把字符串当成JavaScript代码进行编译,如果编译失败者抛出一个语法错误异常。
?3 如果编译成功,则开始执行这一段代码,并返回字符串中的最后一个表达式或语句的值,
?4 如果最后一个表达式或语句没有值,则最终返回undefined。
三、使用例子
<!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title>eval</title> </head> <body> <script type="text/javascript"> //正确输入 var x = 10; document.write(eval(10*x + 10)) //表达式 输出110 document.write("<br />"); document.write(eval("10 == x")); //表达式 输出true document.write("<br />"); eval(document.write(2+5*x)); //执行语句 输出52 //非正常输入 try{ var y = 8; //表达式 document.write(eval("9+6*x"+"100")); //如果参数中没有合法的表达式和语句,则抛出 SyntaxError 异常。 document.write("<br />"); eval('++++2'); //编译失败ReferenceError异常 eval(document.write(2+2)); //编译成功 document.write(eval()); //返回undefined var my = eval(); //如果试图覆盖 eval 属性或把 eval() 方法赋予另一个属性, document.write(my(1+2)); //并通过该属性调用它,则 ECMAScript 实现允许抛出一个 EvalError 异常。 } catch(exception) { alert(exception); } </script> </body> </html>
我自己查了好多资料,也还很模糊,希望了解的大神能指点指点!
以上这篇对js eval()函数的一些见解就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持找一找教程网。
这篇关于对js eval()函数的一些见解的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2024-05-30React Native常用组件-点击组件
- 2024-05-30uniapp+vue3+uv-ui手机端后台OA管理模板
- 2024-05-29Python网络爬虫的时候json=就是让你少写个json.dumps()
- 2024-05-27React Native常用组件-展示组件
- 2024-05-27React Native常用组件-列表组件
- 2024-05-09vue3开发前端表单缓存自定义指令,移动端h5必备插件
- 2024-05-09React Hooks在class组件中的使用方式
- 2024-03-30[OIDC in Action] 2. 基于OIDC(OpenID Connect)的SSO(纯JS客户端)
- 2024-03-29terraform jsonencode
- 2024-03-13vuex-persist