对js eval()函数的一些见解


Posted in Javascript onAugust 15, 2016

一、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()函数的一些见解就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持三水点靠木。

Javascript 相关文章推荐
JQuery报错Uncaught TypeError: Illegal invocation的处理方法
Mar 13 Javascript
node.js读取文件到字符串的方法
Jun 29 Javascript
jQuery实现鼠标滚动图片延迟加载效果附源码下载
Jun 28 Javascript
Ionic2系列之使用DeepLinker实现指定页面URL
Nov 21 Javascript
jQuery实现立体式数字动态增加(animate方法)
Dec 21 Javascript
ES6中的箭头函数实例详解
Apr 06 Javascript
浅谈Vue.js 1.x 和 2.x 实例的生命周期
Jul 25 Javascript
利用JavaScript实现栈的数据结构示例代码
Aug 02 Javascript
vue webpack打包优化操作技巧
Feb 22 Javascript
自定义javascript验证框架示例【附源码下载】
May 31 Javascript
使用watch在微信小程序中实现全局状态共享
Jun 03 Javascript
JavaScript实现Tab选项卡切换
Feb 13 Javascript
详细解读Jquery各Ajax函数($.get(),$.post(),$.ajax(),$.getJSON())
Aug 15 #Javascript
js HTML5 Canvas绘制转盘抽奖
Sep 13 #Javascript
jQuery学习笔记之回调函数
Aug 15 #Javascript
纯css下拉菜单 无需js
Aug 15 #Javascript
浅谈JavaScript 中有关时间对象的方法
Aug 15 #Javascript
js轮盘抽奖实例分析
Apr 17 #Javascript
JavaScript 中有关数组对象的方法(详解)
Aug 15 #Javascript
You might like
php 字符过滤类,用于过滤各类用户输入的数据
2009/05/27 PHP
php foreach 使用&amp;(与运算符)引用赋值要注意的问题
2010/02/16 PHP
PHP实现股票趋势图和柱形图
2015/02/07 PHP
PHP实现针对日期,月数,天数,周数,小时,分,秒等的加减运算示例【基于strtotime】
2017/04/19 PHP
Thinkphp开发--集成极光推送
2017/09/15 PHP
javascript prototype,executing,context,closure
2008/12/24 Javascript
jquery ui dialog里调用datepicker的问题
2009/08/06 Javascript
用jquery实现下拉菜单效果的代码
2010/07/25 Javascript
jQuery JSON的解析方式分享
2011/04/05 Javascript
js实现无需数据库的县级以上联动行政区域下拉控件
2013/08/14 Javascript
鼠标滚轴控制文本框值的JS代码
2013/11/19 Javascript
IE下Ajax缓存问题的快速解决方法(get方式)
2014/01/09 Javascript
js获取光标位置和设置文本框光标位置示例代码
2014/01/09 Javascript
js判断当前页面用什么浏览器打开的方法
2016/01/06 Javascript
SpringMVC简单整合Angular2的示例
2017/07/31 Javascript
Vue中关闭弹窗组件时销毁并隐藏操作
2020/09/01 Javascript
vue自定义树状结构图的实现方法
2020/10/18 Javascript
Vue 集成 PDF.js 实现 PDF 预览和添加水印的步骤
2021/01/22 Vue.js
介绍Python中几个常用的类方法
2015/04/08 Python
把项目从Python2.x移植到Python3.x的经验总结
2015/04/20 Python
Python中设置变量访问权限的方法
2015/04/27 Python
Python3.4编程实现简单抓取爬虫功能示例
2017/09/14 Python
Python实现生成随机数据插入mysql数据库的方法
2017/12/25 Python
Python如何实现在字符串里嵌入双引号或者单引号
2020/03/02 Python
在Python IDLE 下调用anaconda中的库教程
2020/03/09 Python
解决python中import文件夹下面py文件报错问题
2020/06/01 Python
数据库的约束含义
2012/09/09 面试题
《和我们一样享受春天》教学反思
2014/02/07 职场文书
校长寄语大全
2014/04/09 职场文书
室内趣味活动方案
2014/08/24 职场文书
2014年文秘工作总结
2014/11/25 职场文书
新党员入党决心书
2015/09/22 职场文书
《钢铁是怎样炼成的》高中读后感
2019/08/07 职场文书
Python制作一个随机抽奖小工具的实现
2021/07/07 Python
python获取字符串中的email
2022/03/31 Python
阿里面试Nacos配置中心交互模型是push还是pull原理解析
2022/07/23 Java/Android