我不了解videojs播放器的一些代码:
if currentSrc?
$(".video-js").replaceWith(
"<div class='unsupported'><a href='#{currentSrc}'>Download</a></div>")
据我了解,currentSrc必须是在if语句中检查true或false的bool,但后来在链接中集成了它是一个字符串。
if var?
检查var是否存在?这不是一种在JS中检查它的错误方法吗?
答案 0 :(得分:1)
currentSrc必须是在if语句中检查true或false的bool
不正确的。 JavaScript是一种动态类型语言。一个非零长度的字符串(任何URL都是)将是一个真值。
var foo = "";
var bar = "some value";
if (foo) { console.log(foo); } else { console.log("foo is false"); }
if (bar) { console.log(bar); } else { console.log("bar is false"); }
&#13;
答案 1 :(得分:-1)
查看javascript如何转换布尔值的简单方法是使用双重否定!!
。
不确定downvote,但我个人觉得这个技术很有用,主要是因为我打开Chrome,如果我不确定布尔评估,我只需打开控制台并键入我正在检查的内容......例如。键入!!-1
,在这种情况下,它会返回true
,其他一些语言可能会将其视为false
例如
console.log( "''", !!'' ); //false
console.log( "hello2", !!'hello' ); //true
console.log( "0", !!0 ); //false
console.log( "'0'", !!'0' ); //true
console.log( "1", !!1 ); //true
console.log( "true", !!true ); //true
console.log( "null", !!null ); //false
console.log( "undefined", !!undefined ); //false