对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 相关文章推荐
popdiv
Jul 14 Javascript
jQuery1.3.2 升级到jQuery1.4.4需要修改的地方
Jan 06 Javascript
体验js中splice()的强大(插入、删除或替换数组的元素)
Jan 16 Javascript
jQuery层动画定位滑动效果的方法
Apr 30 Javascript
js实现头像图片切割缩放及无刷新上传图片的方法
Jul 17 Javascript
Bootstrap的Refresh Icon也spin起来
Jul 13 Javascript
微信小程序  简单实例(阅读器)的实例开发
Sep 29 Javascript
预防网页挂马的方法总结
Nov 03 Javascript
浅谈node中的exports与module.exports的关系
Aug 01 Javascript
解决select2在bootstrap modal中不能正常使用的问题
Aug 09 Javascript
JavaScript学习笔记之数组基本操作示例
Jan 09 Javascript
JS轻量级函数式编程实现XDM三
Jun 16 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
非常有用的9个PHP代码片段
2016/04/06 PHP
PHP+Ajax实现验证码的实时验证
2016/07/20 PHP
Laravel如何友好的修改.env配置文件详解
2017/06/07 PHP
PHP实现下载远程图片保存到本地的方法
2017/06/19 PHP
用JavaScript实现单继承和多继承的简单方法
2009/03/29 Javascript
用jquery实现下拉菜单效果的代码
2010/07/25 Javascript
ExtJS自定义主题(theme)样式详解
2013/11/18 Javascript
css3元素简单的闪烁效果实现(html5 jquery)
2013/12/28 Javascript
jquery $.trim()方法使用介绍
2014/05/21 Javascript
关于javascript模块加载技术的一些思考
2014/11/28 Javascript
浅谈javascript实现八大排序
2015/04/27 Javascript
比例尺、缩略图、平移缩放之百度地图添加控件方法
2015/08/03 Javascript
AJAX实现瀑布流触发分页与分页触发瀑布流的方法
2016/05/23 Javascript
非常酷炫的Bootstrap图片轮播动画
2016/05/27 Javascript
js 性能优化之算法和流程控制
2017/02/15 Javascript
js弹出窗口简单实现代码
2017/03/22 Javascript
微信小程序顶部可滚动导航效果
2017/10/31 Javascript
实现div内部滚动条滚动到底部和顶部的代码
2017/11/15 Javascript
Babel 入门教程学习笔记
2018/06/13 Javascript
MVVM 双向绑定的实现代码
2018/06/21 Javascript
小程序实现录音上传功能
2019/11/22 Javascript
Python中数字以及算数运算符的相关使用
2015/10/12 Python
selenium+python 对输入框的输入处理方法
2018/10/11 Python
解决python3中的requests解析中文页面出现乱码问题
2019/04/19 Python
如何使用python进行pdf文件分割
2019/11/11 Python
Python编程快速上手——PDF文件操作案例分析
2020/02/28 Python
Python文件操作基础流程解析
2020/03/19 Python
Python 多线程C段扫描、检测 Ping扫描脚本的实现
2020/09/03 Python
在线购买廉价折扣书籍和小说:BookOutlet.com
2018/02/19 全球购物
仪器仪表检测毕业生自荐信
2013/10/31 职场文书
商场中秋节广播稿
2014/01/17 职场文书
初中优秀教师事迹材料
2014/08/18 职场文书
“向国旗敬礼”主题班会活动设计方案
2014/09/27 职场文书
中学生清明节演讲稿
2015/03/18 职场文书
Shell脚本一键安装Nginx服务自定义Nginx版本
2022/03/20 Servers
MySQL三种方式实现递归查询
2022/04/18 MySQL