`
tonysmith
  • 浏览: 175706 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

JavaScript eval()方法

阅读更多

定义和用法

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(eval("2+2"))

var x=10
document.write(eval(x+17))

</script>

输出:

200
4
27

例子 2

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

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

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

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

catch(exception) {
     alert(exception);
     }
TIY

编辑您的代码:

查看结果:

200
4
27
First:1second:2third:tony
1
2
tony
smith

 
分享到:
评论

相关推荐

    javascript eval和JSON

    当需要将JSON格式的数据转换为JavaScript对象时,`eval`提供了一个简便的方法。通常情况下,为了确保数据被正确解析为对象而不是执行为代码,会在JSON字符串外部添加一对圆括号。 ```javascript var jsonObject = ...

    在Javascript中Eval函数的使用?

    JavaScript中的`eval()`函数是一个非常特殊且功能强大的工具,它能够执行一个字符串作为JavaScript代码。这个函数在很多情况下被用于动态地编译和运行代码,但同时也因为其潜在的安全风险和性能问题而备受争议。在...

    Javascript中eval函数的用法

    在上面的例子中,我们看到了一种使用 eval 函数来动态生成 JavaScript 代码的方法。我们使用 prompt 函数来获取用户的输入,然后使用 eval 函数来将用户的输入作为 JavaScript 代码来执行。这样,我们可以根据用户的...

    JavaScript Eval 在线加密/解密工具 v0.1

    专门解码解密eval&#40;function(p,a,c,k,e,r&#41;{})、eval&#40;function(p,a,c,k,e,d&#41;...{})等多种eval编码加密的Javascript源代码.暂不支持语法高亮.不支持低版本IE.P.S:该程序是仿制的,非原创!

    javascript 自定义eval函数实现

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

    基于PHP的JavaScript Eval 在线加密解密工具 php版.zip

    【标题】:“基于PHP的...综上所述,这个“基于PHP的JavaScript Eval在线加密解密工具php版”为开发者提供了一种方法来保护他们的JavaScript代码,同时也揭示了如何在保证功能的前提下平衡代码安全性和执行效率。

    在Javascript中Eval函数的使用.doc

    但是,更好的做法是利用JavaScript的其他特性,如`document.querySelector()`或`document.getElementById()`等方法,它们更安全、更高效。 总的来说,`eval()`在JavaScript中扮演着特殊的角色,它提供了一种将字符...

    PHP实例开发源码-JavaScript Eval 在线加密解密工具 php版.zip

    PHP实例开发源码—JavaScript Eval 在线加密解密工具 php版.zip PHP实例开发源码—JavaScript Eval 在线加密解密工具 php版.zip PHP实例开发源码—JavaScript Eval 在线加密解密工具 php版.zip

    javascript eval&#40;&#41; 实现简单的计算器

    就一个简简单单的,用javascript做的,加上eval&#40;&#41;函数搞的,主要就是对eval&#40;&#41;的使用,界面可以自己再设计。

    PHP实例开发源码—JavaScript Eval 在线加密解密工具 php版.zip

    2. **JavaScript `eval` 函数**:深入理解`eval()`的工作原理,知道它如何将字符串转化为可执行的JavaScript代码,以及相关的安全风险和避免方法。 3. **加密算法**:了解常见的加密算法,如AES(高级加密标准)、...

    javascript执行eval函数时利用正则表达式去掉回车符换行符和注释

    JavaScript中的`eval()`函数是一个非常强大的工具,它能够将字符串作为JavaScript代码来执行。然而,直接使用`eval()`可能存在安全风险,比如代码注入攻击。在某些特定场景下,我们需要对输入的字符串进行预处理,...

    java实现js中eval功能

    接着,我们调用`eval`方法执行字符串中的JavaScript表达式,并打印出结果。 然而,`Nashorn`引擎在Java 11中已被弃用,因此在更现代的Java版本中,你可能需要寻找其他解决方案,如使用`GraalVM`的JavaScript引擎。 ...

    深入认识javascript中得eval函数

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

    测试eval方法所以造成无法通过google closure compiler编译

    在JavaScript编程中,`eval()`函数是一个非常特殊且有争议的工具。它的主要功能是将字符串作为JavaScript代码来执行,这在某些情况下可以提供极大的灵活性,但同时也带来了显著的安全风险和性能问题。本文将深入探讨...

    json------javascript eval()以及Example

    然而,这种方法存在安全风险,因为`eval()`会执行字符串中的任何JavaScript代码,如果JSON数据来源不可信,可能会导致跨站脚本攻击(XSS)。因此,更安全的做法是使用`JSON.parse()`方法,它是专门为解析JSON设计的...

    javascript中eval解析JSON字符串.docx

    ### JavaScript中eval解析JSON字符串详解 #### 一、前言 在JavaScript开发中,解析JSON字符串是一项常见的任务。其中一种方法是使用`eval()`函数。虽然这种方法并不推荐,但了解其工作原理及其潜在风险仍然非常...

    javascript中eval函数用法分析.docx

    由于`eval()`函数的安全性和性能问题,推荐使用其他方法来代替它,如使用`new Function()`构造函数来创建和执行函数。 例如: ```javascript var code = "var x = 10; var y = 20; return x + y;"; var fn = new ...

    javascript eval&#40;&#41;用法

    简单的说,可以把字符串转换成表达式并返回执行结果 eval 方法 请参阅 String 对象 应用于: Global 对象 要求 版本 1 检查 JScript 代码并执行. eval&#40;codeString&#41; 必选项 codestring 参数是包含有效 ...

    eval 加密和解密

    在JavaScript中,`eval`通常用于处理JSON对象,因为JSON.stringify()方法会将JavaScript对象转换成一个JSON格式的字符串,而JSON.parse()则能将这个字符串解析回JavaScript对象。但出于安全考虑,直接使用`eval`解析...

Global site tag (gtag.js) - Google Analytics