对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 相关文章推荐
Jquery 动态添加按钮实现代码
May 06 Javascript
让javascript加载速度倍增的方法(解决JS加载速度慢的问题)
Dec 12 Javascript
javascript实现时间格式输出FormatDate函数
Jan 13 Javascript
JavaScript让网页出现渐隐渐显背景颜色的方法
Apr 21 Javascript
js获取iframe中的window对象的实现方法
May 20 Javascript
angularjs的select使用及默认选中设置
Apr 08 Javascript
详解用node编写自己的cli工具
May 23 Javascript
Vue实现路由跳转和嵌套
Jun 20 Javascript
react native仿微信PopupWindow效果的实例代码
Aug 07 Javascript
web前端开发中常见的多列布局解决方案整理(一定要看)
Oct 15 Javascript
小程序点赞收藏功能的实现代码示例
Sep 07 Javascript
详解React项目中碰到的IE问题
Mar 14 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
Apache下禁止php文件被直接访问的解决方案
2013/04/25 PHP
PHP在不同页面间传递Json数据示例代码
2013/06/08 PHP
php类声明和php类使用方法示例分享
2014/03/29 PHP
PHP生成树的方法
2015/07/28 PHP
PHP实现的进度条效果详解
2016/05/03 PHP
详谈phpAdmin修改密码后拒绝访问的问题
2017/04/03 PHP
用javascript实现页面打印的三种方法
2007/03/05 Javascript
用js实现的检测浏览器和系统的函数
2009/04/09 Javascript
jQuery Ajax之$.get()方法和$.post()方法
2009/10/12 Javascript
基于JavaScript实现继承机制之构造函数方法对象冒充的使用详解
2013/05/07 Javascript
获取3个数组不重复的值的具体实现
2013/12/30 Javascript
PHP开发者必须掌握的6个关键字
2014/04/14 Javascript
点击button获取text内容并改变样式的js实现
2014/09/09 Javascript
浅谈Javascript Base64 加密解密
2014/12/28 Javascript
JS实现让网页背景图片斜向移动的方法
2015/02/25 Javascript
javascript操作Cookie(设置、读取、删除)方法详解
2015/03/18 Javascript
一个Js文件函数中调用另一个Js文件函数的方法演示
2017/08/14 Javascript
JS实现匀加速与匀减速运动的方法示例
2017/09/04 Javascript
vue better-scroll插件使用详解
2018/01/25 Javascript
使用Vue动态生成form表单的实例代码
2018/04/26 Javascript
详解Vue 动态组件与全局事件绑定总结
2018/11/11 Javascript
nodejs微信开发之接入指南
2019/03/17 NodeJs
微信小程序image图片加载完成监听
2019/08/31 Javascript
python33 urllib2使用方法细节讲解
2013/12/03 Python
详解Django框架中用context来解析模板的方法
2015/07/20 Python
基于keras输出中间层结果的2种实现方式
2020/01/24 Python
如何真正的了解python装饰器
2020/08/14 Python
英国音乐设备和乐器商店:Gear4music
2017/10/16 全球购物
澳大利亚波西米亚风情网上商店:Czarina
2019/03/18 全球购物
New Balance比利时官方网站:购买鞋子和服装
2021/01/15 全球购物
Java TransactionAPI (JTA) 主要包含几部分
2012/12/07 面试题
青年文明号事迹材料
2014/01/18 职场文书
感恩母亲节活动方案
2014/03/04 职场文书
社区娱乐活动方案
2014/08/21 职场文书
2015年幼师工作总结
2015/04/28 职场文书
CSS基础详解
2021/10/16 HTML / CSS