如何在JavaScript中嵌套OR语句?

时间:2012-10-05 09:20:40

标签: javascript nested-statement

目前我正在创建一个文件管理器。

我想要检查用户是否选择了视频文件。该文件可以是movf4vflvmp4swf

我想检查我的var ext是否是其中之一。

我拥有的是:

if(ext == ('mov' || 'f4v' || 'flv' || 'mp4' || 'swf'))
{
    //Do something
}

有谁知道我怎么能让这个工作。我不想使用开关,因为我会收到很多案例。

3 个答案:

答案 0 :(得分:8)

您需要明确地将变量与每个值进行比较。

if( ext === 'mov' || ext === 'f4v' || ... ) { 
}

..但是, RegExp 来救援,我们可以像

一样
if( /mov|f4v|flv|mp4|swf/.test( ext ) ) { 
}

答案 1 :(得分:2)

你需要拆分它们,如下:

if(ext === "mov" || ext === "f4v" || ext === "flv" || ext === "mp4" || ext === "swf")
{
    // do stuff
}

您还可以考虑将所有不同的扩展名放在一个数组中,并检查该数组中是否存在ext

答案 2 :(得分:2)

有点好的方法是:

var exts = {
     "mov" : null,
     "f4v" : null,
     "flv" : null,
     "mp4" : null,
     "swf" : null,
}

if(ext in exts){
    // world peace
}