0

所以我发布了这个问题 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 语句,这是朝着那个方向迈出的一步

4

1 回答 1

4

那根本不是有效的javascript。这

<cond> ? <iftrue> : <iffalse>

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

if {

} else {

}

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

于 2011-07-18T18:16:57.627 回答