`
stephen830
  • 浏览: 2964607 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

JavaScript 全局对象参考手册 eval() 函数

阅读更多

JavaScript eval() 函数

JavaScript 全局对象参考手册

定义和用法

eval() 函数可计算某个字符串,并执行其中的的 JavaScript 代码。

语法

eval(string)

 

 

参数描述
string 必需。要计算的字符串,其中含有要计算的 JavaScript 表达式或要执行的语句。

返回值

通过计算 string 得到的值(如果有的话)。

说明

该方法只接受原始字符串作为参数,如果 string 参数不是原始字符串,那么该方法将不作任何改变地返回。因此请不要为 eval() 函数传递 String 对象来作为参数。

如果试图覆盖 eval 属性或把 eval() 方法赋予另一个属性,并通过该属性调用它,则 ECMAScript 实现允许抛出一个 EvalError 异常。

抛出

如果参数中没有合法的表达式和语句,则抛出 SyntaxError 异常。

如果非法调用 eval(),则抛出 EvalError 异常。

如果传递给 eval() 的 Javascript 代码生成了一个异常,eval() 将把该异常传递给调用者。

提示和注释

提示:虽然 eval() 的功能非常强大,但在实际使用中用到它的情况并不多。

实例

例子 1

在本例中,我们将在几个字符串上运用 eval(),并看看返回的结果:

<script type="text/javascript">

eval("x=10;y=20;document.write(x*y)")
document.write("<br />");
document.write(eval("2+2"))
document.write("<br />");
var x=10
document.write(eval(x+17))

</script>

 

 

输出:

200
4
27

 

 

例子 2

看一下在其他情况中,eval() 返回的结果:

<script type="text/javascript">

eval("2+3")	// 返回 5
var myeval = eval;	// 可能会抛出 EvalError 异常
myeval("2+3");	// 可能会抛出 EvalError 异常

</script>

 

 

可以使用下面这段代码来检测 eval() 的参数是否合法:

try  {
     alert("Result:" + eval(prompt("Enter an expression:","")));
     }

catch(exception) {
     alert(exception);
     }

 

 

分享到:
评论

相关推荐

    JavaScript中的全局对象介绍

    对于任何JavaScript程序,当程序开始运行时,JavaScript解释器都会初始化一个全局对象以供程序使用。这个JavaScript自身提供的全局对象的功能包括: 1.全局对象拥有一些常用的属性值。比如undefined、Infinity以及...

    深入认识javascript中的eval函数

    1)介绍javascript中的eval函数的用法 (2)如何在函数内执行全局代码 ►先来说eval的用法,内容比较简单,熟悉的可以跳过。 eval函数接收一个参数s,如果s不是字符串,则直接返回s。否则执行s语句。如果s语句执行...

    JavaScript中的eval&#40;&#41;函数使用介绍

    是JavaScript全局对象的一个函数。比如,上述代码等价于: 代码如下: console.log(this.eval&#40;“42 * 2”&#41;);//84 不过在使用eval&#40;&#41;语句时,一般都采用上述第一种做法,也即忽略全局对象直接使用...

    javascript eval函数深入认识

    (1)介绍javascript中的eval函数的用法 (2)如何在函数内执行全局代码 ►先来说eval的用法,内容比较简单,熟悉的可以跳过。 eval函数接收一个参数s,如果s不是字符串,则直接返回s。否则执行s语句。如果s语句执行...

    js eval函数使用,js对象和字符串互转实例

    函数 JavaScript 全局函数 定义和用法 eval&#40;&#41; 函数计算 JavaScript 字符串,并把它作为脚本代码来执行。 如果参数是一个表达式,eval&#40;&#41; 函数将执行表达式。如果参数是Javascript语句,eval&#40;&#...

    JavaScript学习小结之被嫌弃的eval函数和with语句实例详解

    是一个全局函数,javascript通过eval&#40;&#41;来解释运行由javascript源代码组成的字符串 var result = eval&#40;'3+2'&#41;; console.log(result,typeof result);//5 'number' 用法  eval&#40;&#41;只有一个...

    JavaScript中的eval&#40;&#41;函数详解

    和其他很多解释性语言一样,JavaScript同样可以解释运行由JavaScript源代码组成的字符串,并产生一个值。JavaScript通过全局函数eval&#40;&#41;来完成这个工作

    JavaScript 5th

    ECMA 2009年12月推出了 JavaScript 5,除了增强基础函数库之外,还引入了严格运行时模式(Strict Runtime Modes)以避免代码中的常见错误。 严格模式 严格模式可用以下语句声明: "use strict;"该语句对以往的...

    微软JavaScript手册

    Global 对象 是一个固有对象,目的是将全局方法集中在一个对象中。 global 属性 返回一个 Boolean 值,标记正则表达式使用的 global 标志状态 (g)。 大于运算符(&gt;) 比较两个表达式,看一个是否大于另一个。 ...

    Coffeescript中文手册

    全局变量 46 分号 48 保留字 48 相等比较 49 函数定义 50 读取数值对象的属性 51 没有修正的部分 51 使用eval 52 使用typeof 52 使用instanceof 54 使用delete 55 使用parseInt 56 Strict模式 56 Strict模式的不同 ...

    编写可维护的JavaScript(中文)

    《编写可维护的JavaScript》向开发人员阐述了如何在团队开发中编写具备高可维护性的JavaScript代码,书中详细说明了作为团队一分子,应该怎么写JavaScript。本书内容涵盖了编码风格、编程技巧、自动化、测试等几方面...

    【JavaScript源代码】详解JavaScript中的执行上下文及调用堆栈.docx

    详解JavaScript中的执行上下文及调用堆栈  目录 一、执行上下文是什么二、执行上下文栈是什么三、执行上下文栈的过程...函数执行环境:每当执行流程进入到一个函数体内部的时候 Eval执行环境:当eval函数内部的文本

    javascript标准库(js的标准内置对象)总结

    值属性 这部分属性只是简单的值,它们没有自己的...全局函数可以直接调用,不需要在调用时指定所属对象,执行结束后会将结果直接返回给调用者。 eval&#40;str&#41; eval&#40;&#41; 函数会将传入的字符串当做 JavaScri

    编写可维护的javascript(英文)

    《编写可维护的JavaScript》向开发人员阐述了如何在团队开发中编写具备高可维护性的JavaScript代码,书中详细说明了作为团队一分子,应该怎么写JavaScript。本书内容涵盖了编码风格、编程技巧、自动化、测试等几方面...

    javascript让setInteval里的函数参数中的this指向特定的对象

    看到这个题,我蒙了,因为那时候我不清除这个问题,想了半天没想出来,后来到网上一查,在国外的某网站查到说setInterval和setTimeout之后的函数的作用域是全局的,也就是里面的this指向的是全局对象. 这个问题可麻烦了,我...

    深入理解JavaScript单体内置对象

    实际上,没有全局变量或全局作用域,所有在全局作用域中定义的属性和函数,都是Global对象的属性。 Global对象包含了一些有用的方法: 1.URI编码方法 Global对象的encodeURI()和encodeURIComponent()方法可以对URI...

    javascript使用eval或者new Function进行语法检查

    虽然new Function( ) 在任何情况下,构造的函数都是在全局作用域下直接工作的,但只作语法检查的话,并不会因为作用域问题而产生意外结果,只要你不直接调用通过它构造的新函数。 在eval&#40; &#41; 接受的参数前面...

    JavaScript笔记

    JavaScript:定义行为和动作 (基于对象和事件驱动的客户端脚本语言;也是一种广泛应用于客户端Web开发的脚本语言) 基于对象:网页中的一切...22.全局函数:不用任何对象点(.)就可以调用--可用于所有的 JavaScript ...

    jailedEval:提供安全“评估”javascript代码而无需访问全局上下文的能力的简单函数

    它允许您安全地运行/评估 javascript 代码,而无需访问全局上下文(窗口、文档等)。 但是 eval 不是很糟糕吗? 是的,eval 不好。 但这主要是因为您不应该允许不受信任的代码访问您的任何页面或用户的数据(例如...

    javascript文档

    Global 对象 是一个固有对象,目的是将全局方法集中在一个对象中。 global 属性 返回一个 Boolean 值,标记正则表达式使用的 global 标志状态 (g)。 大于运算符(&gt;) 比较两个表达式,看一个是否大于另一个。 ...

Global site tag (gtag.js) - Google Analytics