JavaScript: 如果变量?其中 var 不是 bool
JavaScript: if var? where var is no bool
我不理解videojs播放器的一些代码:
if currentSrc?
$(".video-js").replaceWith(
"<div class='unsupported'><a href='#{currentSrc}'>Download</a></div>")
据我了解,currentSrc必须是bool才能在if语句中检查真假,但后来在link中集成它是一个字符串。
if var?
是否仅检查 var 是否存在?这不是在 JS 中检查它的错误方法吗?
currentSrc has to be a bool to be checked for true or false in the if statement
不正确。 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"); }
查看 javascript 如何转换布尔值的一个很好的简单方法是使用双重否定 !!
.
不确定否决票,但我个人觉得这种技术很有用,主要是因为我打开了 Chrome,如果我不确定布尔值求值,我只需打开控制台并输入我想要的检查..例如键入 !!-1
,在这种情况下它将 return 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
我不理解videojs播放器的一些代码:
if currentSrc?
$(".video-js").replaceWith(
"<div class='unsupported'><a href='#{currentSrc}'>Download</a></div>")
据我了解,currentSrc必须是bool才能在if语句中检查真假,但后来在link中集成它是一个字符串。
if var?
是否仅检查 var 是否存在?这不是在 JS 中检查它的错误方法吗?
currentSrc has to be a bool to be checked for true or false in the if statement
不正确。 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"); }
查看 javascript 如何转换布尔值的一个很好的简单方法是使用双重否定 !!
.
不确定否决票,但我个人觉得这种技术很有用,主要是因为我打开了 Chrome,如果我不确定布尔值求值,我只需打开控制台并输入我想要的检查..例如键入 !!-1
,在这种情况下它将 return 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