Javascript “if”语句功能不正确

Javascript “if”语句功能不正确,javascript,function,if-statement,Javascript,Function,If Statement,我正在编写一些jQuery代码,其中包括从几个函数跳转。在一个函数中,使用“if”-语句来选择代码下一步的去向。if语句的条件是从上一个函数传递的变量的值。因此,澄清一下,一个函数将一个变量传递给另一个函数,然后再传递给另一个函数,该函数是根据它的源函数选择的 以下是我在JSFIDLE中的代码: 如您所见,当您单击任何按钮时,它将从If语句转到所有可选函数,而不仅仅是一个。有人知道为什么会这样吗?非常感谢 通过写入iforigin='go1',将'go1'赋值给origin变量,并将赋值结果即字

我正在编写一些jQuery代码,其中包括从几个函数跳转。在一个函数中,使用“if”-语句来选择代码下一步的去向。if语句的条件是从上一个函数传递的变量的值。因此,澄清一下,一个函数将一个变量传递给另一个函数,然后再传递给另一个函数,该函数是根据它的源函数选择的

以下是我在JSFIDLE中的代码:

如您所见,当您单击任何按钮时,它将从If语句转到所有可选函数,而不仅仅是一个。有人知道为什么会这样吗?非常感谢

通过写入iforigin='go1',将'go1'赋值给origin变量,并将赋值结果即字符串'go1'传递给if语句。 因为所有非空字符串在Javascript中都是真实的,所以这相当于if true,并且所有if语句都会执行

如果origin=='go1',则需要将'go1'与origin变量进行比较

总结 =运算符为变量赋值 ==运算符执行松散比较,例如,true=='1',8=='8',16=='0x10',false=='[]。 ===运算符执行严格的比较。上述例子中没有一个是正确的=== 通过写入iforigin='go1',您将'go1'赋值给origin变量,并将赋值结果即字符串'go1'传递给if语句。 因为所有非空字符串在Javascript中都是真实的,所以这相当于if true,并且所有if语句都会执行

如果origin=='go1',则需要将'go1'与origin变量进行比较

总结 =运算符为变量赋值 ==运算符执行松散比较,例如,true=='1',8=='8',16=='0x10',false=='[]。 ===运算符执行严格的比较。上述例子中没有一个是正确的=== 你有这样的代码

if(origin = 'go1')
它将“go1”赋值给变量原点,并检查它是否为真。 请尝试:

if(origin == 'go1')
比较而不是赋值。

您有如下代码

if(origin = 'go1')
它将“go1”赋值给变量原点,并检查它是否为真。 请尝试:

if(origin == 'go1')

比较而不是分配。

常见问题。在Java中,它会给出一个编译错误,在Javascript中,它会工作得很好,可能不是您想要的方式登录Javascript不执行相等操作。

常见问题。在Java中,它会给出一个编译错误,在Javascript中,它会工作得很好,可能不是您想要的方式登录Javascript不执行相等操作。

非常感谢您的澄清!非常感谢所有的澄清渣!