==和===JavaScript有什么区别?我也见过!=和!==运营商.还有更多这样的运营商吗?
javascript comparison-operators equality-operator identity-operator
我正在检查一个变量,例如foo,与多个值的相等性.例如,
if( foo == 1 || foo == 3 || foo == 12 ) {
// ...
}
Run Code Online (Sandbox Code Playgroud)
关键是这个繁琐的任务代码相当多.我想出了以下内容:
if( foo in {1: 1, 3: 1, 12: 1} ) {
// ...
}
Run Code Online (Sandbox Code Playgroud)
但这并不完全吸引我,因为我必须为对象中的项目提供冗余值.
有没有人知道对多个值进行相等检查的正确方法?
我知道在JavaScript中你可以写:
if (A && B) { do something }
Run Code Online (Sandbox Code Playgroud)
但是我如何实现OR,例如:
if (A OR B) { do something }
Run Code Online (Sandbox Code Playgroud) 什么是将一个值与多个选项进行比较的最漂亮的方法?
我知道有很多方法可以做到这一点,但我正在寻找最好的方法.
我问,因为我希望这是可行的(当你看它时,它显然不是这样):
if (foobar == (foo||bar) ) {
//do something
}
Run Code Online (Sandbox Code Playgroud) 我有一个表单,人们可以在其中输入文件路径.我想确保他们输入的路径指向图片,所以这是我认为可行的.
function checkExt()
{
var extension= /* I know that the code to cut the extension off of the file
is working correctly so for now let's just go with it ok */
if(extension!="jpg" || "gif" || "bmp" || "png" || "whatever else")
alert("The file extension you have entered is not supported");
}
Run Code Online (Sandbox Code Playgroud)
但这不起作用.我已将其跟踪到if语句,因为如果我只选择一种文件来检查,那么它将正常工作.所以我的问题是你到底要改变什么才能使这个东西正常工作.我已经在这里待了大约三个小时了,这让我很生气.感谢您提前获得的所有帮助.