'if'语句无法正常运行

Ben*_*tis 1 javascript if-statement function

我正在编写一些涉及从多个函数跳转的jQuery代码.在一个函数中,'if'语句用于选择代码接下来的位置.if语句的条件是从前一个函数传递的变量的值.因此,为了澄清,函数将一个变量传递给另一个函数,然后该函数转到另一个函数,该函数是根据它源自的函数选择的.

这是我在JSFiddle中的代码:http://jsfiddle.net/VFVk7/

正如您所看到的,当您单击任何按钮时,它将转到If语句中的所有可选函数,而不仅仅是一个.有谁知道为什么会这样?非常感谢!

SLa*_*aks 10

通过写入if(origin = 'go1'),您将分配 'go1'origin变量,并将该赋值的结果(即字符串'go1')传递给该if语句.
由于所有非空字符串在Javascript中都是"真实的",因此这等同于if (true),并且所有if语句都会执行.

您需要通过编写与变量进行比较 .'go1'originif (origin === 'go1')

摘要

  • =操作者的值分配给变量
  • ==运算符执行比较松散(例如,true == '1',8 == '8',16 == '0x10',false == []).
  • ===操作者进行了严格的比较.(上述例子均不适用===)


Ale*_*lli 6

你有像这样的代码

if(origin = 'go1')
Run Code Online (Sandbox Code Playgroud)

赋予 'go1'变量origin(并检查它是否为"真" - 它是什么).
请尝试:

if(origin == 'go1')
Run Code Online (Sandbox Code Playgroud)

比较,而不是分配.