对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实现DIV的一些简单控制
Jun 04 Javascript
符合标准的js表单提交的代码
Sep 13 Javascript
JavaScript 拖拉缩放效果
Dec 10 Javascript
jquery中通过父级查找进行定位示例
Jun 28 Javascript
基于JQuery制作可编辑的表格特效
Dec 23 Javascript
JavaScript中对象property的读取和写入方法介绍
Dec 30 Javascript
javascript实现3D切换焦点图
Oct 16 Javascript
AngularJS模块学习之Anchor Scroll
Jan 19 Javascript
基于JavaScript实现类似于百度学术高级检索功能
Mar 02 Javascript
javascript字符串对象常用api函数小结(连接,替换,分割,转换等)
Sep 20 Javascript
原生JS实现圆环拖拽效果
Apr 07 Javascript
jquery 插件重新绑定的处理方法分析
Nov 23 jQuery
详细解读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 file_get_contents抓取Gzip网页乱码的三种解决方法
2013/11/12 PHP
浅析get与post的一些特殊情况
2014/07/28 PHP
php生成Android客户端扫描可登录的二维码
2016/05/13 PHP
php微信开发接入
2016/08/27 PHP
php 使用fopen函数创建、打开文件详解及实例代码
2016/09/24 PHP
前端开发必须知道的JS之原型和继承
2010/07/06 Javascript
jQuery 验证插件 Web前端设计模式(asp.net)
2010/10/17 Javascript
基于jQuery架构javascript基础体系
2011/01/01 Javascript
javascript object array方法使用详解
2012/12/03 Javascript
javascript圆盘抽奖程序实现原理和完整代码例子
2014/06/03 Javascript
实现图片预加载的三大方法及优缺点分析
2014/11/19 Javascript
javascript的switch用法注意事项分析
2015/02/02 Javascript
Javascript页面跳转常见实现方式汇总
2015/11/28 Javascript
JavaScript浮点数及运算精度调整详解
2016/10/21 Javascript
Vue2实现组件props双向绑定
2016/12/02 Javascript
AngularJS封装指令方法详解
2016/12/12 Javascript
JS中mouseup事件丢失的原因与解决办法
2017/06/14 Javascript
360doc网站不登录就无法复制内容的解决方法
2018/01/27 Javascript
JS实现数组去重,显示重复元素及个数的方法示例
2019/01/21 Javascript
详解Node.js异步处理的各种写法
2019/06/09 Javascript
Python从MP3文件获取id3的方法
2015/06/15 Python
Python模拟三级菜单效果
2017/09/11 Python
python实现输入数字的连续加减方法
2018/06/22 Python
python微信聊天机器人改进版(定时或触发抓取天气预报、励志语录等,向好友推送)
2019/04/25 Python
python 怎样将dataframe中的字符串日期转化为日期的方法
2019/09/26 Python
Python any()函数的使用方法
2019/10/28 Python
CSS3实现复选框动画特效示例代码
2016/09/27 HTML / CSS
璀璨的珍珠、密钉和个性化珠宝:Lily & Roo
2021/01/21 全球购物
电子商务专业在校生实习自我鉴定
2013/09/29 职场文书
地理科学专业毕业生求职信
2013/10/15 职场文书
甜品店的创业计划书范文
2014/01/02 职场文书
2015年小班保育员工作总结
2015/05/27 职场文书
2016年6月份红领巾广播稿
2015/12/21 职场文书
2019年图书室自查报告范本
2019/10/12 职场文书
解决golang在import自己的包报错的问题
2021/04/29 Golang
MySQL分区以及建索引的方法总结
2022/04/13 MySQL