if语句永远不会到达其他分支 - "if(x = y)"

Pan*_*heo 1 javascript if-statement

我有这个奇怪的问题:

以下是JavaScript函数

function calculateSum()
 {
   var e2 = document.getElementById('hotel_names');
   var selValue2 = e2.options[e2.selectedIndex].value;

   if (selValue2='1')
   {
   alert("helloworld");
   }
   else
   {
   alert("byeworld");
   }
//function closes
 }
Run Code Online (Sandbox Code Playgroud)

它捕获HTML元素选择的选项值并显示相应的消息......或者它应该是.无论选择如何,它总是显示1.

另一方面,以下工作.

function calculateSum()
     {
       var e2 = document.getElementById('hotel_names');
       var selValue2 = e2.options[e2.selectedIndex].value;

       alert(selValue2);
     }
Run Code Online (Sandbox Code Playgroud)

每次从选择中选择一个选项时,第二个函数都会显示正确的数字.任何想法为什么第一个不起作用?

Lix*_*Lix 8

条件语句使用称为等于运算符的双等号 -

  if (selValue2 == '1'){
    ...
  }
Run Code Online (Sandbox Code Playgroud)

通过仅使用一个您正在做的事情是为变量赋值.这称为赋值运算符.

selValue2 = '1'
Run Code Online (Sandbox Code Playgroud)