Java 实现 JS的eval函数

Posted hahahahahahahaha

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Java 实现 JS的eval函数相关的知识,希望对你有一定的参考价值。

JS的eval 函数, 给个表达式做参数, 返回表达式的值。

Java的脚本引擎可以实现这个功能。

例子:

  拼接一个字符串 \\uxxxx, Unicode的十六进制编码, 然后把它打印出来。 即输入一个\'\\u5236\' 字符串, 然后输出一个中文Unicode字符“制”。

 

package test;

import javax.script.ScriptEngine;
import javax.script.ScriptEngineManager;
import javax.script.ScriptException;

public class ScriptEngineDemo {
    public static void main(String[] args) throws ScriptException {
        ScriptEngineManager manager = new ScriptEngineManager();
        ScriptEngine se = manager.getEngineByName("js");
        String str = "\\\'\\u5236\\\'";          // 传 "\\u5236", JS是认不出来的。 传"\\\'u5236\\\'"
        String result =  (String) se.eval(str);
        System.out.println(result);        
    }        
}

 

以上是关于Java 实现 JS的eval函数的主要内容,如果未能解决你的问题,请参考以下文章

eval js 解密

js代码借助函数eval制作简易计算器

js eval()函数

eval有时候也可以用,而且有奇效

用不同的代码替换 MicrosoftAjax.js 文件中的 eval()

eval()函数的特点和作用