IF 语句不改变变量的结果


IF statement not changing outcome of variable

我目前有这个

$(document).ready(function(){
like = "like";
current_likes = parseInt(50);
    $("#add-love").click(function(){
        if(like = "like"){
            $("#my_like").removeClass('hidden-profile');
            current_likes++;
            $("#like_count").html(current_likes);
            like = "unlike";
            console.log(like);
        }else{
            $("#my_like").addClass('hidden-profile');
            current_likes--;
            $("#like_count").html(current_likes);
            like = "like";
        }
    });
});
但是当我单击喜欢按钮时,

它会更新喜欢计数器和变量(我已经通过记录它来检查它)但是当第二次单击它时,它不会落入 if 语句的第二部分,而是只是表现得好像好像 like="like" 仍然?

您正在分配=,而不是比较==

if(like = "like"){
// Should be
if(like == "like"){
//------^^^

请注意,您已经将变量like声明到window范围,因为您没有使用 var 关键字。如果它的作用域应仅限定为 ready() 函数,请在 ready() 函数中使用var like = 'like';。 如果您确实打算在window范围内使用它,建议在 ready() 函数之外使用 var 关键字。

// Declare at higher scope
var like;  
$(document).ready(function(){
  // And access in the function...
  like = "like";
  current_likes = parseInt(50);
  //etc...
  //etc...
});