比较3个javascript变量的值
我想比较3个javascript变量值,它们相等,需要执行一个函数比较3个javascript变量的值,javascript,jquery,Javascript,Jquery,我想比较3个javascript变量值,它们相等,需要执行一个函数 if(vcount === tcount === lcount){ //do something; } 及(根据) 但这对我不起作用 尝试使用有帮助的条件(三元)运算符(?:)。请参考下面的例子 这是另一种解决办法 <!DOCTYPE html> <html> <body> <button onclick="myFunction()">Try it</button>
if(vcount === tcount === lcount){
//do something;
}
及(根据)
但这对我不起作用 尝试使用有帮助的条件(三元)运算符(?:)。请参考下面的例子
这是另一种解决办法
<!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>
试试看
函数myFunction()
{
document.getElementById(“demo”).innerHTML=getResult(7,5,5);
}
函数getResult(x,y,z){
返回x==y?x==z?真:假:假;
}
除了其他人所说的之外,请验证变量的类型是否正确。例如,一个可能是字符,另一个可能是整数。尝试通过执行toString(value)或parseInt(value,10)来验证它们是否相同。有多种方法可以做到这一点。我更喜欢用这种方法处理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;
}
结果
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));
演示:考虑以下代码-
1===1===1
由于==
运算符是左右关联的,因此首先计算1===1
的第一部分
1==1
返回true
。然后是下面的比较
true===1
这肯定是false
,因为布尔值true
与1
不同,因为==
考虑值和数据类型
因此,每当第三个参数为非
布尔值时,如果使用==
进行比较,它肯定会返回false
。因此,您应该始终使用第二种语法来比较任意3个值。或者您是否希望(vcount===tcount)和&(tcount==lcount)
不工作是什么意思。您可以发布一个JSFIDLE来显示不工作的内容吗?您的第二个代码示例应该工作正常。您的代码应该工作正常。最好勾选“不工作”是一个不足以让任何人知道如何帮助你的描述。@FelixKling:同意你的观点
1===1===1
true===1