检查是否错误

Ale*_*lex 22 javascript ajax if-statement

有没有更好的方法呢?

if(borrar() !== false)
{
    alert('tatatata bum bum bum prapra');
}
return false;
Run Code Online (Sandbox Code Playgroud)

Phi*_*l H 22

如果你想检查是否有错误,如果没有,则警告,否则没有.

如果你使用if(val),那么评估为'truthy'的任何东西,如非空字符串,也会通过.所以这取决于你的标准有多严格.使用===!==通常被认为是良好的做法,以避免通过javascript的隐式布尔测试意外匹配truthy或falsy条件.


Gri*_*fin 9

如果你希望它明确检查它是否不为假(布尔值),你必须使用

\n
if(borrar() !== false)\n
Run Code Online (Sandbox Code Playgroud)\n

但在 JavaScript 中,我们通常使用 falsy 和 true,你可以使用

\n
if(!borrar())\n
Run Code Online (Sandbox Code Playgroud)\n

但值 0、\'\'、null、undefined、null 和 NaN 将不会生成警报。

\n

以下值始终为假值:

\n
false,\n,0 (zero)\n,\'\' or "" (empty string)\n,null\n,undefined\n,NaN\n
Run Code Online (Sandbox Code Playgroud)\n

其他一切都是真实的。包括了:

\n
\'0\' (a string containing a single zero)\n,\'false\' (a string containing the text \xe2\x80\x9cfalse\xe2\x80\x9d)\n,[] (an empty array)\n,{} (an empty object)\n,function(){} (an \xe2\x80\x9cempty\xe2\x80\x9d function)\n
Run Code Online (Sandbox Code Playgroud)\n

来源: https: //www.sitepoint.com/javascript-truthy-falsy/

\n

作为将任何值转换为 true 或 false(布尔类型)的额外好处,请使用双感叹号:

\n
!![] === true\n!!\'false\' === true\n!!false === false\n!!undefined === false\n
Run Code Online (Sandbox Code Playgroud)\n


Dea*_*ite 7

你可以使用更简单的东西:

if(!var){
    console.log('var is false'); 
}
Run Code Online (Sandbox Code Playgroud)

  • 如果 var 为 null 或 undefined !var 为真且不是重点。 (11认同)

Gil*_*esC 6

如果你想要对false进行显式检查(而不是未定义,null和我假设你正在使用的其他!==而不是!=)那么你必须使用它.这也是一个略小的足迹

if(borrar() !== !1)
Run Code Online (Sandbox Code Playgroud)

  • 同意,除了`!1`.我不会使用它,因为它比"假"更简洁,也不常见,因此,可读性较差. (6认同)

And*_*lva 5

检查某件事是否不假……所以它是真的,只要你正在做量子物理学的事情。

if(!(borrar() === false))
Run Code Online (Sandbox Code Playgroud)

或者

if(borrar() === true)
Run Code Online (Sandbox Code Playgroud)