区别之间!和!=在JavaScript中

时间:2017-07-29 17:49:27

标签: javascript

在JavaScript中,做什么之间的区别是:

if (a !b)
{
// something here
}

if (a != b)
{
// something here
}

我知道'!'是'逻辑不'和'!='是'不等于',但我不确定两者之间的区别。 我已经看过SoloLearn项目中使用的两个例子。

上述任何一项都不会在我的网络浏览器中显示任何错误或警告(chr​​ome)。 我还不确定如何使用chrome的调试控制台。

我的意思并不是“差异!==和!===”btw。

2 个答案:

答案 0 :(得分:3)

在JavaScript !foo中是一个布尔切换,因此如果foo = true;然后!foo正在检查foo是否等于此情况下的相反值false

你的职能:

if (a !b)
{
// something here
}

什么都不做,实际上应该只是:

if (!b)
{
// something here
}

测试b是否处于相反的状态。

当您使用!=时,您正在比较两个值,以查看一个值是否与另一个值不相等。 所以你的功能:

if {a != b)
{
// something here
}

检查a是否不等于b

干杯。

答案 1 :(得分:1)

普通!是逻辑运算符,表示相反。例如,当您不总是知道当前状态时,切换布尔运算符的常见做法如下:

// Toggle Foo, regardless of current value, assuming its of a boolean type.
var foo = !foo;

!=是一个不等式运算符,用于测试"不等于"运算符,它只是检查某些东西是否等于你所比较的东西。

Here is a great question about this in a more broad context.