对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和html5实现手机端刮刮卡抽奖效果完美兼容android/IOS
Nov 18 Javascript
jquery滚动加载数据的方法
Mar 09 Javascript
jQuery插件Elastislide实现响应式的焦点图无缝滚动切换特效
Apr 12 Javascript
使用AngularJS创建单页应用的编程指引
Jun 19 Javascript
Bootstrap实现圆角、圆形头像和响应式图片
Dec 14 Javascript
AngularJS的依赖注入实例分析(使用module和injector)
Jan 19 Javascript
JS实现简易换图时钟功能分析
Jan 04 Javascript
vue2.0 better-scroll 实现移动端滑动的示例代码
Jan 25 Javascript
原生JS实现动态添加新元素、删除元素方法
May 05 Javascript
jQuery表单选择器用法详解
Aug 22 jQuery
bootstrap+spring boot实现面包屑导航功能(前端代码)
Oct 09 Javascript
vue项目中使用particles实现粒子背景效果及遇到的坑(按钮没有点击响应)
Feb 11 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
codeigniter教程之上传视频并使用ffmpeg转flv示例
2014/02/13 PHP
图解找出PHP配置文件php.ini的路径的方法
2014/08/20 PHP
WordPress中限制非管理员用户在文章后只能评论一次
2015/12/31 PHP
php传值和传引用的区别点总结
2019/11/19 PHP
bgsound 背景音乐 的一些常用方法及特殊用法小结
2010/05/11 Javascript
Jquery中的CheckBox、RadioButton、DropDownList的取值赋值实现代码
2011/10/12 Javascript
原生js ActiveXObject获取execl里面的值
2013/11/01 Javascript
jquery使用ajax实现微信自动回复插件
2014/04/28 Javascript
JavaScript函数获取事件源的小例子
2014/05/14 Javascript
jQuery中first()方法用法实例
2015/01/06 Javascript
JS实现当前页居中分页效果的方法
2015/06/18 Javascript
javascript单例模式的简单实现方法
2015/07/25 Javascript
JS获取月份最后天数、最大天数与某日周数的方法
2015/12/08 Javascript
js+html5操作sqlite数据库的方法
2016/02/02 Javascript
js和jq使用submit方法无法提交表单的快速解决方法
2016/05/17 Javascript
一道优雅面试题分析js中fn()和return fn()的区别
2016/07/05 Javascript
JS函数多个参数默认值指定方法分析
2016/11/28 Javascript
jQuery解析返回的xml和json方法详解
2017/01/05 Javascript
基于Angularjs+mybatis实现二级评论系统(仿简书)
2017/02/13 Javascript
nodejs集成sqlite使用示例
2017/06/05 NodeJs
JavaScript循环_动力节点Java学院整理
2017/06/28 Javascript
JavaScript代码执行的先后顺序问题
2017/10/29 Javascript
微信小程序 Animation实现图片旋转动画示例
2018/08/22 Javascript
使用jquery-easyui的布局layout写后台管理页面的代码详解
2019/06/19 jQuery
解决谷歌搜索技术文章时打不开网页问题的python脚本
2013/02/10 Python
python学习手册中的python多态示例代码
2014/01/21 Python
Python实现将一个大文件按段落分隔为多个小文件的简单操作方法
2017/04/17 Python
Python列表和元组的定义与使用操作示例
2017/07/26 Python
python3写爬取B站视频弹幕功能
2017/12/22 Python
Python实现文件信息进行合并实例代码
2018/01/17 Python
Win 10下Anaconda虚拟环境的教程
2020/05/18 Python
Mytheresa中国官网:德国时尚奢侈品商城
2017/08/04 全球购物
小学教师自我鉴定范文
2014/03/20 职场文书
2014年民政局关于保密工作整改措施
2014/09/19 职场文书
民主评议党员总结
2014/10/20 职场文书
HTML常用标签超详细整理
2022/03/19 HTML / CSS