比较3个javascript变量的值

时间:2013-10-18 04:01:56

标签: javascript jquery

我想比较3个javascript变量值并且它们相等,需要执行一个函数。

if(vcount === tcount === lcount){

//do something;
}

和(根据this previous answer

if((vcount == tcount) && (tcount == lcount)){

    //do something;
    }

但它不适合我。

4 个答案:

答案 0 :(得分:2)

尝试使用条件(三元)运算符(?:)这将有所帮助。请参考以下示例 这是替代解决方案的一种方式

<!DOCTYPE html>
<html>
<body>

<button onclick="myFunction()">Try it</button>

<p id="demo"></p>

<script>
function myFunction()
{
document.getElementById("demo").innerHTML= getResult(7,5,5);
}

function getResult(x,y,z){
 return x===y?x===z?true:false:false;
}

</script>

</body>
</html>

答案 1 :(得分:1)

除了其他人所说的,请验证您的变量是否正确。例如,一个可能是一个字符,另一个是整数。尝试通过执行toString(value)或parseInt(value,10)来验证它们是否完全相同。

答案 2 :(得分:1)

有多种方法可以做到这一点。我更喜欢这种方式来处理n个变量

    function isEqual1() {
        var val = arguments[0],
            equal = true;
        for (var i = 0; i < arguments.length; i++) {
            equal = (arguments[i] === val);
            if (!equal) return false;
        }
        return equal;
    }

其他

    function isEqual2() {
        var args = Array.prototype.slice.call(arguments, 0);
        var equal = args.join(',').replace(new RegExp(args[0], "ig"), '').replace(/,/g, "");
        return equal.length == 0;
    }

结果

    console.log(isEqual1(1, true, false, "xyz"));
    console.log(isEqual1(true, true, true, true));
    console.log(isEqual2(true, 123, true, true));
    console.log(isEqual2(true, true, true, true));

演示: http://jsfiddle.net/p5aa7/7/

答案 3 :(得分:1)

考虑以下代码 -

1===1===1

由于===运算符是左右关联,因此首先评估1===1的第一部分。

1===1返回true。然后有以下比较

true===1

绝对是false,因为布尔 true1不同,因为===会考虑值以及数据类型< /强>

因此,只要第3个参数不是boolean ,如果您使用false进行比较,它肯定会返回===。因此,您应该 始终使用第二种语法 来比较任何3个值。