使用 Rhino 更改 JavaScript 字符串文字

Changing javascript string literals with Rhino

本文关键字:字符串 文字 JavaScript 更改 Rhino 使用      更新时间:2023-09-26

我正在为Closure编写一个自定义编译器通行证,它将javascript文字字符串切换到十六进制。所以"a"变得"'x61"

但代码:

node.setString("''x61");

在 JavaScript 中的结果如下所示:

"''x61"

而不是:

"'x61"

当然,如果我在java代码中只使用一个斜杠,那么它就不会编译。'n也是如此。似乎在幕后的某个地方,Closure/Rhino 正在自动逃离字符串。但我找不到在哪里。如何用特殊字符编写字符串?

我相信

这必须在输出(代码打印)期间完成。在内部,字符串将以未转义的形式表示。看看代码生成器。