为什么我的javascript equals操作符总是返回true?

为什么我的javascript equals操作符总是返回true?,javascript,Javascript,以下if语句的计算结果始终为true: if (a = b) { //... } 为什么总是这样?您需要使用比较运算符 if(a == b) ... 您使用的不是赋值运算符,而是赋值运算符=,而不是相等运算符= `a = b` // sets the value a equal to b if (a == b) { // compares a to the value of b //... } 似乎我应该使用==或===。我使用的运算符不是相等运算符,而是赋值运算符 赋值运算符: 相等

以下if语句的计算结果始终为true:

if (a = b) {
//...
}

为什么总是这样?

您需要使用比较运算符

if(a == b) ...

您使用的不是赋值运算符,而是赋值运算符
=
,而不是相等运算符
=

`a = b` // sets the value a equal to b


if (a == b) { // compares a to the value of b
//...
}

似乎我应该使用
==
===
。我使用的运算符不是相等运算符,而是赋值运算符

赋值运算符

相等运算符


严格相等运算符

它并不总是
真的

var a = true, b = false;
console.log(a = b); // false

=
是赋值运算符。您可能正在查找
==
。这一定是重复的。为什么要关闭它?这是一个编程错误,我相信很多开发者都遇到过。很高兴有文档记录。对于JS初学者来说,我确信以前也发生过类似的事情,对这个问题一无所知。@TobySpeight-你提到的问题是Java。不是JS。很高兴指出这一点