【发布时间】:2016-10-12 19:14:06
【问题描述】:
videojs 播放器的一些代码我不理解:
if currentSrc?
$(".video-js").replaceWith(
"<div class='unsupported'><a href='#{currentSrc}'>Download</a></div>")
据我了解,currentSrc 必须是一个布尔值,以便在 if 语句中检查真假,但后来在链接中集成它是一个字符串。
if var? 是否仅检查 var 是否存在?这不是在 JS 中检查它的错误方法吗?
【问题讨论】:
-
如果是字符串,它将使用字符串的长度来确定真/假。长度为 0 为假,其他一切为真。你可以试试这个: alert(("false" ? 'true' : "false"))
-
我不认为这是一个有效的 JS
-
currentSrc 必须是 bool,JS 不一定会将值强制转换为 bool。 JS 不是类型化语言,会根据使用情况改变类型
-
@Liam 此代码与
if a ? 1类似,即Uncaught SyntaxError: Unexpected identifier(…) -
我是CoffeeScript!
标签: javascript if-statement coffeescript boolean