`
stephen830
  • 浏览: 3011284 次
  • 性别: 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核心对象参考手册

    全局对象中包含了一些内置函数,如`eval()`用于执行一个字符串作为JavaScript代码,`setTimeout()`和`setInterval()`用于定时执行函数。 二、Number对象 Number对象用于处理数值类型,虽然在JavaScript中数字是...

    即用即查JavaScript核心对象参考手册:JavaScript

    `undefined`、`NaN`、`Infinity`、`eval`、`setTimeout`、`setInterval`等都是全局对象的属性或方法。 2. **对象Object**: JavaScript中的对象是一种键值对的集合,可以用来存储数据和功能。`Object.create()`...

    书:《即查即用JavaScript核心对象参考手册》源码

    全局对象是JavaScript中的起点,它包含了一些内置函数和变量,例如`eval()`用于执行字符串作为JavaScript代码,`NaN`表示非数字值,`undefined`表示未定义的值。Array对象提供了丰富的数组操作方法,如`push()`、`...

    JavaScript对象参考手册

    JavaScript对象参考手册详细列出了JavaScript内置对象的属性和方法,这对于开发者来说是一个非常宝贵的资源。 1. **Array对象**: - Array对象用于创建数组,可以存储任意类型的数据。创建方式有多种,如`new ...

    javascript 自定义eval函数实现

    JavaScript中的`eval()`函数是一个非常强大但又颇具争议的功能,它允许执行一个字符串作为JavaScript代码。在本讨论中,我们将深入探讨如何自定义`eval()`函数以提高代码的安全性和效率,同时也会涉及到JavaScript的...

    深入认识javascript中得eval函数

    ### 深入认识JavaScript中的eval函数 #### 一、eval函数概述 在JavaScript中,`eval`函数是一个内置函数,它可以将字符串形式的代码解析并执行。这为开发者提供了一种灵活的方式来动态生成和执行代码。然而,由于...

    eval函数的一些用法

    2. 解析JSON:在JavaScript中,`JSON.parse()`通常用于将JSON格式的字符串转换为JavaScript对象,但若遇到不支持此方法的旧版浏览器,可以用`eval()`替代: ```javascript let jsonString = '{"name":"John", "age...

    javascript中eval函数用法分析.docx

    ### JavaScript中eval函数用法分析 #### 一、eval函数简介 `eval()`函数是JavaScript中的内置函数之一,用于解析并执行包含JavaScript代码的字符串。它只有一个参数,该参数可以是字符串或非字符串类型。 - **非...

    定义全局对象文章代码

    4. **内置属性和方法**:全局对象拥有内置的方法,如`eval()`用于执行字符串形式的JavaScript代码,`setTimeout()`和`clearTimeout()`用于定时器操作,以及`parseInt()`和`parseFloat()`用于转换数字等。 现在,...

    JavaScript中的全局对象介绍

    在JavaScript编程中,全局对象是一个非常重要的概念,它为JavaScript程序提供了一个可供访问的全局命名空间。全局对象包含了一些基本的属性和方法,使得开发者可以在任何地方方便地访问这些资源。本文将详细介绍...

    javascript实现根据函数名称字符串动态执行函数的方法示例

    eval()函数可以执行字符串中的JavaScript代码,如果我们知道要调用的函数名的字符串,可以将其与括号“()”组合起来形成代码字符串,并用eval()函数执行。示例代码如下: ```javascript function targetFunction() {...

    javascript_函数大全

    不同于许多传统面向对象的语言,JavaScript通过其独特的函数式特性,提供了一种更加灵活、强大的编程方式。以下是对给定文件中提及的JavaScript函数关键知识点的详尽解析。 #### 如何定义和使用函数 定义函数的...

    javascript中eval函数用法分析

    JavaScript中的eval函数是一个非常强大的内置函数,它允许程序在运行时动态执行JavaScript代码。eval函数接收一个字符串参数,如果这个字符串能够被解析为JavaScript表达式、语句、代码块或程序,则eval会执行这段...

    深入认识javascript中的eval函数

    在JavaScript中,eval函数是一个内置的对象,主要用于执行一个字符串表达式,并返回表达式的值。eval函数的使用需要谨慎,因为它会执行一段字符串中的JavaScript代码,并且这种执行方式可能会带来安全问题。 1. ...

    V8定义全局对象文章代码

    全局对象还包含了一系列内置的JavaScript函数和方法,如`eval()`, `setTimeout()`, `isNaN()`, `parseInt()`等。这些内置功能直接挂载在全局对象上,允许开发者无需显式引用就可以调用。 3. **原型链** 全局对象...

    JavaScript进阶:JS的全局变量和全局函数.docx

    5. `eval()`:这是一个危险的函数,它将字符串作为JavaScript代码执行。使用时需谨慎,因为它可能导致安全问题和性能下降。 6. `isFinite()`:检查给定的数值是否为有限的,返回布尔值。如果值是无穷大或NaN,它会...

    javascript eval和JSON

    在JavaScript编程语言中,`eval`是一个全局函数,它的主要功能是接收一个字符串参数,该字符串应该包含有效的JavaScript代码,然后`eval`会尝试执行这些代码。如果字符串中的最后一条语句是一个表达式,则`eval`将...

    Javascript学习笔记4 Eval函数

    JavaScript中的`eval()`函数是一个非常强大但又充满争议的工具,它允许我们将字符串作为JavaScript代码执行。在初学JavaScript时,很多人可能都听说过`eval()`,但对其具体用途和潜在风险不太了解。本文将深入探讨`...

    浅析JavaScript中两种类型的全局对象/函数

    2. 函数属性的全局对象(Function Properties of the Global Object):这类对象包括了一系列的函数方法,比如eval()用于执行一段字符串代码,parseInt()用于将字符串转换为整数,isNaN()用于判断一个值是否是非数字...

    JavaScript中eval函数的问题

    这是因为JavaScript全局变量在整个脚本中都是可见的,包括在函数内部,除非有同名的局部变量遮蔽它们。 这里的关键点是理解JavaScript的作用域规则。JavaScript有两种作用域:全局作用域和函数作用域。在函数内部...

Global site tag (gtag.js) - Google Analytics