对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 相关文章推荐
js 图片缩放(按比例)控制代码
May 27 Javascript
广告切换效果(缓动切换)
May 27 Javascript
根据鼠标的位置动态的控制层的位置
Nov 24 Javascript
基于Jquery实现键盘按键监听
May 11 Javascript
jquery实现的树形目录实例
Jun 26 Javascript
jquery背景跟随鼠标滑动导航
Nov 20 Javascript
AngularJS实现页面定时刷新
Mar 14 Javascript
关于JavaScript中的this指向问题总结篇
Jul 23 Javascript
js数组方法reduce经典用法代码分享
Jan 07 Javascript
简单易扩展可控性强的Jquery转盘抽奖程序
Mar 16 jQuery
vue组件命名和props命名代码详解
Sep 01 Javascript
layui 数据表格 根据值(1=业务,2=机构)显示中文名称示例
Oct 26 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计算两个文件相对路径的方法
2015/03/14 PHP
浅谈PHP值mysql操作类
2016/06/29 PHP
php安装php_rar扩展实现rar文件读取和解压的方法
2016/11/17 PHP
php利用imagemagick实现复古老照片效果实例
2017/02/16 PHP
YII2框架中excel表格导出的方法详解
2017/07/21 PHP
克隆javascript对象的三个方法小结
2011/01/12 Javascript
js实现俄罗斯方块小游戏分享
2014/01/31 Javascript
jquery.cookie.js用法实例详解
2015/12/25 Javascript
laypage分页控件使用实例详解
2016/05/19 Javascript
使用express搭建一个简单的查询服务器的方法
2018/02/09 Javascript
Javascript 编码约定(编码规范)
2018/03/11 Javascript
微信小程序实现滴滴导航tab切换效果
2018/07/24 Javascript
js正则取值的结果数组调试方法
2018/10/10 Javascript
深入剖析JavaScript instanceof 运算符
2019/06/14 Javascript
微信小程序在ios下Echarts图表不能滑动的问题解决
2019/07/10 Javascript
Vue项目中使用better-scroll实现菜单映射功能方法
2019/09/11 Javascript
JS实现canvas简单小画板功能
2020/06/23 Javascript
[59:59]EG vs IG 2018国际邀请赛小组赛BO2 第二场 8.16
2018/08/17 DOTA
python进阶教程之异常处理
2014/08/30 Python
Python数据分析:手把手教你用Pandas生成可视化图表的教程
2018/12/15 Python
深入浅析Python 中 is 语法带来的误解
2019/05/07 Python
linux环境中没有网络怎么下载python
2019/07/07 Python
python增加图像对比度的方法
2019/07/12 Python
python常用运维脚本实例小结
2020/02/14 Python
详解HTML5中垂直上下居中的解决方案
2017/12/20 HTML / CSS
基于IE10/HTML5 开发
2013/04/22 HTML / CSS
家长给孩子的表扬信
2014/01/17 职场文书
摄影专业毕业生求职信
2014/03/13 职场文书
三好学生个人总结
2015/02/15 职场文书
2015年学习部工作总结范文
2015/03/31 职场文书
员工离职通知函
2015/04/25 职场文书
高中运动会广播稿
2015/08/19 职场文书
2016教师节感恩话语
2015/12/09 职场文书
《天净沙·秋思》教学反思三篇
2019/11/02 职场文书
分享五个Node.js开发的优秀实践 
2022/04/07 NodeJs
win10如何开启ahci模式?win10开启ahci模式详细操作教程
2022/07/23 数码科技