Javascript if语句为false,但代码正在执行

Eri*_*ric 1 javascript jquery if-statement

我在脚本的早期声明了以下全局变量:

var ddFinished = 0;
Run Code Online (Sandbox Code Playgroud)

这个if语句应该是false,但由于某种原因,它被执行就像它是真的:

$(this).click(function(){
            if (ddFinished = 3){
                $(this).find('.dd_chosen_answer').remove();
                $(this).removeClass("dd_question_dropped");
                $(this).droppable( "enable" );
            }
            else {
                $(this).droppable( "disable" );
            }
});
Run Code Online (Sandbox Code Playgroud)

这里的语法有问题吗?我的目标是给自己一个变量,我可以使用它来切换这个元素是否会在点击时变得可以删除.

在理论上(我的理论),这应该有效,但是if执行,事件虽然它不应该根据它的情况.ddFinished当前脚本上的任何其他位置都未声明或更改变量.

Sun*_*nny 5

它应该是

if(ddFinished === 3)
Run Code Online (Sandbox Code Playgroud)

  • 这就是老学校C程序员以前写过如果`if(3 == ddFinished)`这样的检查的原因,因为`if(3 = ddFinished)`不能编译. (2认同)
  • @MikeCorcoran请参阅http://stackoverflow.com/a/15094657/825789 (2认同)