0

我在这里附上了 jsfiddle 示例。我想知道null和blank的区别

我的功能工作正常,但是当我在 if 条件下将空白更改为 null 时,它停止工作。

4

3 回答 3

3

您必须注意"",nullundefined, 在 javascript 中的含义。它可能会导致布尔测试中有关值和类型的一些误解。

""是空字符串,也用作空属性。字符串对象 "" 已定义且不为空。

null是一个类型为空的对象。当一个对象没有其他值/属性(其类型为空)时,它被称为空。

undefined表示对象未定义,解释器没有引用它。undefined 不是对象。

当您尝试将这些值与 进行比较时,会出现一些问题false。试着看看下面的例子。

以下是一些参考链接:

一些类型检查的教程

多一点解释

于 2012-08-30T07:23:55.163 回答
2
  1. 您可能应该将条件更改为if('input[type=radio]:checked').val())这种方式,它将同时检查空字符串和空字符串。但在这种情况下,我认为你永远不会得到一个空字符串。

  2. 不要"!="在这里使用,因为这可能会导致一些不可预知的行为使用"!=="

  3. 当对象实际上没有指向任何东西时,null 可能就像一个空指针
  4. 其中空字符串指向一个对象,该对象是""
于 2012-08-30T07:32:40.860 回答
2

NULL 值表示字段中没有记录值。

空值是其中没有重要数据的值。

为什么“空字符串”与空值不同?因为您正在将字符串(内部没有字符)与没有数据类型值的 a 进行比较:它们不同!

于 2012-08-30T07:10:12.067 回答