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

发布于 2024-11-24 08:14:09 字数 529 浏览 2 评论 0原文

所以我发布了这个问题 将简单表达式语言放入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 语句,这是朝着这个方向迈出的一步

So I posted this question
Putting a simple expression language into java
and got a great answer about using ScriptEngine to allow the user to write javascript which I did and it seemed to work

But whilst an expression like

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

works using a full if statement does not

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

You might ask why Im doing this, well I was hoping I could use an if:else if:else statement and this was a step towards that

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

铁轨上的流浪者 2024-12-01 08:14:09

这根本就不是有效的 JavaScript。这

<cond> ? <iftrue> : <iffalse>

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

if {

} else {

}

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

That simply isn't valid javascript. The

<cond> ? <iftrue> : <iffalse>

is the 'expression' form of if-else, and returns the value which can be used.

if {

} else {

}

is the 'statement' version, and is used to execute code, and does NOT return a value.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文