“”=== null?

时间:2011-07-19 18:04:12

标签: javascript null

比较字符串以查看它是否为空时,是否有任何区别:

if($string==NULL){
    //do work
}

if($string==""){
    /do work
}

只是想知道因为我想知道哪一个在检测空白输入方面更有效。

8 个答案:

答案 0 :(得分:11)

你在这里问几个含糊不清的问题。 PHP和JavaScript不是同一种语言,您在问题标题和正文中引用了不同的运算符。无论如何:

PHP:

'' == null          true
'' === null         false

JavaScript的:

'' == null          false
'' === null         false

你可能想要考虑这些测试的一般性“我在这个字符串变量中得到了什么”:

PHP:

if(!empty($string)) {
    // do work
}

JavaScript的:

if($string) {
    // do work
}

答案 1 :(得分:2)

是的,有区别。检查$ string == Null是否会实际检查变量是否已经初始化,$ string ==“”看起来该字符串实际存在,但是它只保存一个0长度的字符串

答案 2 :(得分:2)

在PHP中测试:

<?php echo var_dump("" === NULL); ?>

在JavaScript中测试:

console.log("" === null)

两者都产生false,所以你不能用这两种语言来做。

即使它有效,通过与null比较,你的意思并不明显;这不是C,它经常用于缺失值。如果你要获得一个字符串作为输入,那么与空字符串相比就更清楚了。

答案 3 :(得分:1)

  

确实“”=== null?

没有

无论如何,请注意testing ...的强大功能。

alert("" === null);

答案 4 :(得分:1)

我在PHP中使用empty()函数。它不取决于变量的类型。但是,当与“==”(不是“===”!)进行比较时,与字符串比较时,NULL变为空字符串(“”)。

答案 5 :(得分:0)

在JavaScript中,答案是否定的。空字符串不等于null,但两者都是假值。

答案 6 :(得分:0)

检查the manual""null不同,因为前者是字符串,后者为空,===检查相同类型以及相等值。

答案 7 :(得分:0)