对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游戏开发之《三国志曹操传》零部件开发(一)让静态人物动起来
Jan 23 Javascript
左侧是表头的JS表格控件(自写,网上没有的)
Jun 04 Javascript
基于jquery自定义的漂亮单选按钮RadioButton
Nov 19 Javascript
js超时调用setTimeout和间歇调用setInterval实例分析
Jan 28 Javascript
jQuery遮罩层实现方法实例详解(附遮罩层插件)
Dec 08 Javascript
老生常谈JavaScript 函数表达式
Sep 01 Javascript
jQuery中常用动画效果函数(日常整理)
Sep 17 Javascript
vue.js开发实现全局调用的MessageBox组件实例代码
Nov 22 Javascript
JavaScript使用prototype原型实现的封装继承多态示例
Aug 31 Javascript
JS跨域请求的问题解析
Dec 03 Javascript
什么时候不能在 Node.js 中使用 Lock Files
Jun 24 Javascript
详解JavaScript类型判断的四种方法
Oct 21 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/12/18 PHP
php+mysql实现数据库随机重排实例
2014/10/17 PHP
PHP简单操作MongoDB的方法(安装及增删改查)
2016/05/26 PHP
php提供实现反射的方法和实例代码
2019/09/17 PHP
PHP设计模式之命令模式示例详解
2020/12/20 PHP
jQuery中将函数赋值给变量的调用方法
2012/03/23 Javascript
iframe子页面获取父页面元素的方法
2013/11/05 Javascript
javascript将url中的参数加密解密代码
2014/11/17 Javascript
基于BootStarp的Dailog
2016/04/28 Javascript
微信小程序 获取相册照片实例详解
2016/11/16 Javascript
JavaScript构建自己的对象示例
2016/11/29 Javascript
js仿淘宝商品放大预览功能
2017/03/15 Javascript
Bootstrap Table从零开始
2017/06/30 Javascript
jquery+ajax实现上传图片并显示上传进度功能【附php后台接收】
2019/06/06 jQuery
Layui table field初始化加载时进行隐藏的方法
2019/09/19 Javascript
python算法学习之桶排序算法实例(分块排序)
2013/12/18 Python
Python中for循环详解
2014/01/17 Python
基于python socketserver框架全面解析
2017/09/21 Python
Scrapy抓取京东商品、豆瓣电影及代码分享
2017/11/23 Python
Python cookbook(数据结构与算法)筛选及提取序列中元素的方法
2018/03/19 Python
pandas值替换方法
2018/07/10 Python
python使用KNN算法识别手写数字
2019/04/25 Python
Numpy中对向量、矩阵的使用详解
2019/10/29 Python
如何理解Python中包的引入
2020/05/29 Python
python 通过 pybind11 使用Eigen加速代码的步骤
2020/12/07 Python
python 实现有道翻译功能
2021/02/26 Python
加拿大女包品牌:Matt & Nat
2017/05/12 全球购物
俄罗斯最大的消费电子连锁零售商:Mvideo
2017/06/25 全球购物
ghd官网:英国ghd直发器品牌
2018/05/04 全球购物
园林设计师自荐信
2013/11/18 职场文书
酒店总经理职务说明书
2014/02/26 职场文书
助残日活动总结
2014/08/27 职场文书
2015年建党94周年演讲稿
2015/03/19 职场文书
公司借款担保书
2015/09/22 职场文书
使用jpa之动态插入与修改(重写save)
2021/11/23 Java/Android
Vue3中toRef与toRefs的区别
2022/03/24 Vue.js