java - 无法使用 javascript 从 Java 中解析完整的 javascript if 语句

标签 java javascript rhino scriptengine

所以我发布了这个问题 Putting a simple expression language into java 并得到了一个关于使用 ScriptEngine 允许用户编写 javascript 的很好的答案,我这样做了,而且似乎有效

但是虽然像

这样的表达
(artist.length>0 ? artist + '-' :'') + (album.length>0 ? album + '-' :'')

使用完整的 if 语句可以工作,但不能

if(artist.length>0) {artist + ':-'}   + (album.length>0 ? album + '-' :'') 

你可能会问我为什么这样做,我希望我可以使用 if:else if:else 语句,这是朝着这个目标迈出的一步

最佳答案

这根本就不是有效的 JavaScript。

<cond> ? <iftrue> : <iffalse>

是if-else的“表达式”形式,返回可以使用的值。

if {

} else {

}

是“语句”版本,用于执行代码,并且不返回值。

关于java - 无法使用 javascript 从 Java 中解析完整的 javascript if 语句,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6737367/

相关文章:

javascript - 加载模型或集合

javascript - 在调整大小时使父级的 div 大小

javascript - Android、Javascript、Rhino、JSON

rhino - parseInt 在犀牛中返回双倍

java - 如何读取类中字段的运行时注释

java - 如何使用将访问数据库的 bean 对路由进行单元测试?

java - 在 Firebase 中获取查询

java - 如何阻止我的日志文件相互添加?

javascript - 简单模态对话

language-agnostic - CAD 应用程序是用什么编写的,它们是如何组织的?