Javascript 逻辑or运算符的输入文本字段问题

Javascript 逻辑or运算符的输入文本字段问题,javascript,Javascript,我已创建了一个输入字段,但逻辑OR运算符未按预期工作。 代码如下 “严格使用” 让search=document.getElementById('search'); 控制台日志(搜索); 让link=document.getElementById('link'); 控制台日志(链接); link.addEventListener('click',doSomething); 功能剂量测定法(ev){ 控制台日志(ev.type); 控制台日志(ev.target); 如果(search.value

我已创建了一个输入字段,但逻辑OR运算符未按预期工作。 代码如下

“严格使用”
让search=document.getElementById('search');
控制台日志(搜索);
让link=document.getElementById('link');
控制台日志(链接);
link.addEventListener('click',doSomething);
功能剂量测定法(ev){
控制台日志(ev.type);
控制台日志(ev.target);
如果(search.value==45 | | 35){
警报(“hi”);
}否则{
警惕(“你”);
}
}

search.value==“45”| | search.value==“35”
您需要检查每一个值,当然要使用相同的类型和严格的比较。请参阅@NinaScholz的注释,如果您感到迷茫,这只是更多的解释。您的函数将始终弹出一个“hi”警报,因为您的if语句总是
true
。为什么?<当
search.value
的值为45或'45'时,code>search.value==45为真(因为您使用的是˙===˙运算符而不是严格的
===
运算符。这几乎就是我认为您想要做的。但是另一个条件只有35,这是一个真实值(不是0),因此您正在检查它(
search.value
为45或
search.value
为“45”或true)而不是(
search.value
为45或
search.value
为35).
search.value=='45'| | search.value=='35'
您需要检查每个值,当然要使用相同的类型和严格的比较。请参阅@NinaScholz的注释,如果您感到迷路,这只是更多的解释。您的函数将始终弹出一个“hi”警报,因为您的if语句总是
true
。为什么?
search.value==4当
search.value
的值为45或'45'时,5
是真的(因为您使用了˙===˙运算符而不是严格的
==
运算符)。这几乎就是我认为您想要做的。但另一个条件只有35,这是真实值(不是0),因此您正在检查它(
search.value
为45或
search.value
为“45”或true)而不是(
search.value
为45或
search.value
为35)。