对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 相关文章推荐
让JavaScript拥有类似Lambda表达式编程能力的方法
Sep 12 Javascript
JavaScript高级程序设计 XML、Ajax 学习笔记
Sep 10 Javascript
JavaScript也谈内存优化
Jun 06 Javascript
JavaScript弹出新窗口后向父窗口输出内容的方法
Apr 06 Javascript
轻量级的原生js日历插件calendar.js使用指南
Apr 28 Javascript
JavaScript实现点击文字切换登录窗口的方法
May 11 Javascript
JavaScript中的getDay()方法使用详解
Jun 09 Javascript
JavaScript使用FileSystemObject对象写入文本文件内容的方法
Aug 05 Javascript
JavaScript数据结构与算法之队列原理与用法实例详解
Nov 22 Javascript
详解微信小程序用定时器实现倒计时效果
Apr 30 Javascript
JavaScript构造函数原理及实现流程解析
Nov 19 Javascript
Vue+element-ui添加自定义右键菜单的方法示例
Dec 08 Vue.js
详细解读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在程序中将网页生成word文档并提供下载的代码
2012/10/09 PHP
解析如何在PHP下载文件名中解决乱码的问题
2013/06/20 PHP
PHP实现操作redis的封装类完整实例
2015/11/14 PHP
ThinkPHP5.1框架数据库链接和增删改查操作示例
2019/08/03 PHP
Mozilla 表达式 __noSuchMethod__
2009/04/05 Javascript
JavaScript 闭包深入理解(closure)
2009/05/27 Javascript
jquery last-child 列表最后一项的样式
2010/01/22 Javascript
分享一道笔试题[有n个直线最多可以把一个平面分成多少个部分]
2012/10/12 Javascript
js 3种归并操作的实例代码
2013/10/30 Javascript
js 操作select与option(示例讲解)
2013/12/20 Javascript
textarea不能通过maxlength属性来限制字数的解决方法
2014/09/01 Javascript
JavaScript通过字符串调用函数的实现方法
2015/03/18 Javascript
easyui window refresh 刷新两次的解决方法(推荐)
2016/05/18 Javascript
jQuery简单入门示例之用户校验demo示例
2016/07/09 Javascript
canvas实现图像放大镜
2017/02/06 Javascript
canvas实现动态小球重叠效果
2017/02/06 Javascript
jQuery基于ajax方式实现用户名存在性检查功能示例
2017/02/10 Javascript
canvas实现环形进度条效果
2017/03/23 Javascript
angular 实时监听input框value值的变化触发函数方法
2018/08/31 Javascript
javascript判断一个变量是数组还是对象
2019/04/10 Javascript
微信小程序实现点击按钮后修改颜色
2019/12/05 Javascript
vue路由传参三种基本方式详解
2019/12/09 Javascript
使用JavaScript和MQTT开发物联网应用示例解析
2020/08/07 Javascript
PyQt5笔记之弹出窗口大全
2019/06/20 Python
django 中使用DateTime常用的时间查询方式
2019/12/03 Python
python中random.randint和random.randrange的区别详解
2020/09/20 Python
python与idea的集成的实现
2020/11/20 Python
纯CSS实现的大小渐变、渐远效果
2014/04/15 HTML / CSS
俄罗斯最大的在线手表商店:Bestwatch.ru
2020/01/11 全球购物
幼儿园长自我鉴定
2013/10/17 职场文书
酒店门卫岗位职责
2013/12/29 职场文书
党的群众路线教育实践活动个人自我剖析材料
2014/10/07 职场文书
党员学习新党章思想汇报
2014/10/25 职场文书
2014幼儿教师个人工作总结
2014/12/03 职场文书
公司档案管理制度
2015/08/05 职场文书
浅谈JS和Nodejs中的事件驱动
2021/05/05 NodeJs