Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/406.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何在javascript中使用Or运算符_Javascript_Logical Operators - Fatal编程技术网

如何在javascript中使用Or运算符

如何在javascript中使用Or运算符,javascript,logical-operators,Javascript,Logical Operators,我试图使用if语句和or | |运算符来测试房间类型的选择框选项的值是否为single King、single Double Queen或single two twins,然后执行一些代码。我一直在if语句中| |运算符所在的位置收到消息“uncaught syntax error unidentified token | |” var酒店={ 名称:“本森酒店”, 房间:500间, jsuites:10, 地点:10, 预订:100, checkAvailability:function()

我试图使用if语句和or | |运算符来测试房间类型的选择框选项的值是否为single King、single Double Queen或single two twins,然后执行一些代码。我一直在if语句中| |运算符所在的位置收到消息“uncaught syntax error unidentified token | |”

var酒店={
名称:“本森酒店”,
房间:500间,
jsuites:10,
地点:10,
预订:100,
checkAvailability:function(){
归还此.rooms-此.booked;
}
};
hotel.name=“Bonton”;
var elName=document.getElementById(“hotelN”);
elName.textContent=hotel.name;
函数签入(){
var nRooms=document.getElementById(“numRooms”).value*1;
var tRoom=document.getElementById(“打印室”);
if(tRoom.value=“singleK”)| |(tRoom.value=“singleQ”)| | |(tRoom.value=“singleT”){/*我在控制台中收到关于上述代码行的以下消息。“未捕获语法错误未识别标记| | |”显然,上面带有| |运算符的if语句不正确//
hotel.booked=numRooms+hotel.booked;
if hotel.checkAvailability()<0{
var rAvail=nRooms+(hotel.checkAvailability());
如果肆虐
预订房间
房间数量:
房间类型:
单人大床
单人大床
一对双胞胎
初级一居室套房
高级双卧室套房

入住率: 一个成年人 两个成年人 一名成人和一名儿童 入住日期: 退房日期: 提交 酒店客房供应情况

并于7月份结账

jjj


您只需添加一对括号:

if ((tRoom.value == "singleK")||(tRoom.value =="singleQ")||(tRoom.value == "singleT")){
...
}


if
语句的整个条件部分必须用括号括起来。通过执行
if(condition1)| |(condition2)
,您将在
| |
之前终止条件

而是这样的:
if((条件1)|(条件2))

另外:您要查找的条件运算符是
=
,而不是
=
=
用于比较两个值,而
=
用于设置

|

if (tRoom.value = "singleK" || tRoom.value ="singleQ" || tRoom.value = "singleT") {

该行中至少有两个问题:

  • 您的主要问题是,您缺少一组围绕整个条件的括号:

    if((tRoom.value=“singleK”)| |…){

  • 现在您的or运算符只是浮动的

  • 您需要使用
    ==
    进行比较。
    =
    用于分配

  • if hotel.checkAvailability()<0
    -在您的实际代码或粘贴错误中?所有条件都需要用括号括起来。
    上也有一个错误,如果将
    =
    更改为
    ==
    ,您不需要将每个条件都括在一组括号中。您可以将整个条件括在一组中。@zfrisch您是对的,他不需要它们。正如@4castle所指出的那样值得注意的是,如果tRoom.value中唯一有效的类型是字符串,那么在进行条件检查时,应该使用===来比较该类型以及value@zfrisch在这个实例中是允许的(因为
    属性总是返回一个字符串),但是是的,这是最佳实践。
    
    if (tRoom.value = "singleK")||(tRoom.value ="singleQ")||(tRoom.value = "singleT") {
    
    if (tRoom.value = "singleK" || tRoom.value ="singleQ" || tRoom.value = "singleT") {