`

javascript使用eval方法等价于java反射机制中的方法执行效果。既可以赋值也可以执行方法(加参数或不加参数)

 
阅读更多

javascript强大的eval方法,它将解析字符串并作为js语句执行,话不多说看例子。

使用eval方法赋值例子:

//已经申明的变量
var a = undefined;
//赋值字符串(dataObj为ajax请求返回的json对象,先把它转换成json字符串进行赋值)
var operatorStr = "a="+JSON.stringify(dataObj);";
//赋值,赋值给a json字符串以后在申明a变量的页面可以自由循环遍历。
eval(operatorStr);

 注:eval方法相当于执行的是一个javascript语句,所以在赋值时你拼接的字符串在结束时要加上“;”表示语句结束。

 

使用eval方法执行方法例子(等同于java的method.invoke()方法):

//申明方法
function a(param1,param2){
//........
}
//eval执行a方法
//方法名
var methodName = "a";
//方法参数
var param1 = "dd";
var param2 = "cc";
//要执行的方法字符串
var operatorStr = methodName +"("+param1+","+param2+")";
//执行
eval(operatorStr);

 注:拼接要执行的函数字符串时,在字符串末尾可以不加“;”即可正确执行

 

如有疑问,请留言。

分享到:
评论

相关推荐

    java实现js中eval功能

    在Java中,这可以通过编译和执行Java的`ScriptEngine`来实现,特别是`JavaScript`引擎,如`Nashorn`(在Java 8中)或`Rhino`(在更早的版本中)。以下是一个使用`Nashorn`引擎的例子: ```java import javax.script...

    java动态特性eval

    总结来说,Java中实现类似JavaScript`eval()`功能的方法多种多样,包括但不限于反射、JavaScript引擎、Java编译器接口和表达式求值库。每种方法都有其适用场景和优缺点,应根据实际需求选择合适的技术。在实际应用中...

    java实现eval函数

    在Java中模拟`eval`功能的一个常见方法是通过使用Java Scripting API(JSR 223),它允许你在Java应用程序中嵌入和执行脚本语言,包括JavaScript。以下是一个简单的例子,展示了如何使用JSR 223来执行JavaScript代码...

    在Javascript中Eval函数的使用?

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

    java执行JavaScript代码

    这篇博客(博文链接已提供)将介绍如何在Java中执行JavaScript代码,这主要得益于Java的脚本引擎API。 Java 6引入了JSR 223(Java Scripting API),使得开发者能够在Java应用程序中嵌入和执行各种脚本语言,包括...

    Javascript中eval函数的用法

    JavaScript 中的 eval 函数是一个非常强大且灵活的函数,可以将一个字符串当作一个 JavaScript 表达式来执行。正如我们在上面的描述中所看到的,eval 函数可以将一个字符串解释成 JavaScript 代码,然后执行它。这...

    在java中利用动态编译实现eval

    此外,Java 9引入了JShell(也称为REPL,Read-Eval-Print Loop),这是一个命令行工具,允许动态执行Java代码片段,但它并不直接提供`eval`方法的等价功能,而是作为一个交互式的编程环境。 总的来说,Java中的动态...

    在Javascript中Eval函数的使用.doc

    在JavaScript中,`eval()`函数是一个极具争议但又非常有用的工具。它允许我们将字符串作为JavaScript代码来执行,这在某些特定场景下提供了极大的灵活性。然而,这种灵活性也带来了安全风险和性能问题,因此在实际...

    Java执行JavaScript代码.pdf

    4. 执行JavaScript代码:一旦获得了脚本引擎的实例,就可以使用engine.eval方法来执行JavaScript代码。这允许Java程序动态地执行JavaScript,例如执行简单的print('HelloWorld')来打印输出。 5. 错误处理:在执行...

    java执行js导致命令执行1

    在这个方法中,我们可以通过反射的方式来执行命令,但是为什么通过反射的方法不能执行命令呢?这是因为class.newInstance只能调用无参构造函数,而ProcessBuilder没有无参数构造函数。 正确的写方法是使用...

    Java调用javaScript代码

    2. 获取JavaScript引擎:ScriptEngineManager提供了获取特定脚本引擎的方法,如获取JavaScript引擎(通常使用的是Nashorn引擎,但在Java 11及更高版本中已被移除,可以使用Rhino或其他第三方引擎)。 ```java ...

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

    如果在`eval()`的字符串参数中存在这些字符,它们会被解释为代码的分隔符,可能导致代码执行错误或不按预期运行。因此,我们首先需要移除这些字符。可以使用以下正则表达式进行替换: ```javascript var ...

    BSF(java中使用javascript)

    3. **使用BSFManager执行脚本**:可以通过调用`BSFManager`的`eval()`或`exec()`方法来执行脚本。其中`eval()`方法用于计算表达式并返回结果,而`exec()`则仅执行脚本而不返回任何值。 - `eval()`方法示例: ```...

    java 混淆、加密js代码

    例如,使用Nashorn,你可以在Java中这样执行JavaScript: ```java import javax.script.ScriptEngineManager; import javax.script.ScriptEngine; import javax.script.ScriptException; public class Main { ...

    eval 加密和解密

    在实际开发中,我们通常会使用专门的加密库,如JavaScript的CryptoJS或PHP的openssl扩展,它们提供了更安全且功能丰富的加密解密方法,而不是依赖于`eval`。 总的来说,理解并正确使用`eval`在加密解密中的角色是...

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

    首先,我们需要理解,在JavaScript中,函数是一等公民,这意味着函数可以作为变量来存储,可以作为参数传递给其他函数,也可以作为其他函数的返回值。利用这些特性,我们能够通过函数名的字符串形式来动态调用函数。...

    javascript 自定义eval函数实现

    在本讨论中,我们将深入探讨如何自定义`eval()`函数以提高代码的安全性和效率,同时也会涉及到JavaScript的动态执行特性以及其在实际开发中的应用。 首先,`eval()`的默认行为是将其接收到的字符串当作JavaScript...

    Java与Java+Applet和JavaScript间的混编方法

    虽然这种方法可以实现 JavaScript 和 Java 之间的交互,但由于安全性和兼容性问题,这种做法并不推荐在现代 Web 应用程序中使用。现代浏览器已经不再支持这种方式,因此开发者需要寻找其他替代方案。 #### 2. 从...

    Java调用Javascript.pdf

    6. 通过Java Applet更新页面内容的upDateHTML方法示例,该方法接收一个字符串参数并将其传递给JavaScript函数,然后通过调用JSObject的eval方法在页面上显示信息。 7. 涉及到的开发工具和环境,如Dreamweaver、...

    eval解密加密

    JavaScript中的`eval()`函数是一个非常强大但同时也有潜在风险的工具。它允许我们将字符串作为JavaScript代码执行,这在某些场景下非常有用,比如动态执行代码或者解析JSON数据。然而,由于这种特性,`eval()`也成为...

Global site tag (gtag.js) - Google Analytics