如何检查变量是否不为空?

2020/10/04 19:01 · javascript ·  · 0评论

我知道以下是JavaScript中检查变量是否不是的两种方法null,但是我很困惑,这是使用的最佳实践。

我应该做:

if (myVar) {...}

要么

if (myVar !== null) {...}

它们不相等。if如果myVar(即true按条件求值),则第一个将执行语句后的块,而如果myVar是以外的任何值,则第二个将执行该块null

JavaScript中唯一不真实的是以下(又称虚假值):

  • null
  • undefined
  • 0
  • "" (空字符串)
  • false
  • NaN

这是测试变量是否为NULL的方法:

if (myVar !== null) {...}

如果myVar的不为空..如果myVar的是不明确的或虚假的或将要执行的块将被执行0NaN或其他任何东西..

在此职位上阅读:http : //enterprisejquery.com/2010/10/how-good-c-habits-can-encourage-bad-javascript-habits-part-2/

一般而言,它有一些关于JavaScript的不错的技巧,但它确实提到的一件事是,您应该检查null,例如:

if(myvar) { }

它还提到了您可能没有意识到的所谓“虚假”。

  • 您内部的代码if(myVar) { code }仅在myVar等于时才不会执行false, 0, "", null, undefined, NaN或您从未定义变量myVar(然后代码会停止执行并引发异常)。
  • 您内部的代码if(myVar !== null) {code}仅在myVar等于null或从未定义时才执行(抛出异常)。

你们都拥有(src

如果

在此处输入图片说明

==(其否定!=

在此处输入图片说明

===(其否定!==

在此处输入图片说明

我刚遇到另一种可能的情况。

我进行了ajax调用,并以字符串格式将数据返回为null。我不得不像这样检查它:

if(value != 'null'){}

因此,null是一个字符串,它读为“ null”,而不是真正的null。

编辑:应该理解,我不以应有的方式出售它我曾设想过这是唯一可以完成的方法。我不确定为什么……也许写后端的那个人错误地显示了数据,但是不管怎么说,这是现实生活。令人沮丧的是,有人理解这是不正确的,但后来又被真正有用的人投票了。

如果myVar为null,则如果不执行块,否则将执行。

if (myVar != null) {...}

有时,即使没有定义,也要做好准备。为此,我使用了typeof

if(typeof(variable) !== "undefined") {
    //it exist
    if(variable !== null) {
        //and is not null
    }
    else {
        //but is null
    }
}
else {
    //it doesn't
}

if(0)表示false,if(-1或除0以外的任何数字)表示true。以下值不为true,null,undefined,0,“”空字符串,false,NaN

永远不要使用id等数字类型

      if (id) {}

对于可能值为0的id类型,我们不能使用if(id){},因为if(0)表示false,invalid,我们希望它表示有效的true id。

因此,对于id类型,我们必须使用以下代码:

   if ((Id !== undefined) && (Id !== null) && (Id !== "")){
                                                                                
                                                                            } else {

                                                                            }
                                                                            

对于其他字符串类型,我们可以使用if(string){},因为null,undefined,空字符串都将计算为false,这是正确的。

       if (string_type_variable) { }

您在此处列出的两个条件语句并不比另一个更好。您的用法取决于情况。顺便说一下,在第二个示例中,您有一个错字。感叹号后只能有一个等号。

第一个示例确定myVar中的值是否为true并在{...}内部执行代码

第二个示例评估myVar是否不等于null,并且在这种情况下为true,它将在{...}内部执行代码

我建议看一下条件语句以了解更多技术。一旦熟悉它们,就可以决定何时需要它们。

本文地址:http://javascript.askforanswer.com/ruhejianchabianliangshifoubuweikong.html
文章标签: ,   ,  
版权声明:本文为原创文章,版权归 javascript 所有,欢迎分享本文,转载请保留出处!

文件下载

老薛主机终身7折优惠码boke112

上一篇:
下一篇:

评论已关闭!