JavaScript 这类弱类型的语言,在判断相等方面很麻烦,明明不是一个东西,却相等了。这里通过示例
展示 null、 undefined、 0、 false、 "" 的相等情况。
例一:
<script type="text/javascript">
var arr = [ null, undefined, 0, false, "" ];
var str = "";
for ( var i = 0; i < arr.length; i++) {
for ( var j = i + 1; j < arr.length; j++) {
if (arr[i] == arr[j]) {
str += arr[i] + " == " + ((j != 4) ? arr[j] : "/" / "") + "/n";
} else {
str += arr[i] + " != " + ((j != 4) ? arr[j] : "/" / "") + "/n";
}
}
}
</script>
结果
null == undefined
null != 0
null != false
null != ""
undefined != 0
undefined != false
undefined != ""
0 == false
0 == ""
false == ""
可以看出 null 与 undefined 是一伙的;而 0、false、"" 又是另外一伙的。
怎么排除干扰?
由于不同的数据类型之间都等起来了,要排除干扰,比如让 0 不等于 "",怎么办呢?用恒等 === 或
!==。这样他们就谁都不等于谁了。
例二:
<script type="text/javascript">
if (false == '') {
document.write('他们相等')
} else {
document.write('他们不相等')
} //他们相等
if (false == null) {
document.write('他们相等')
} else {
document.write('他们不相等')
} //他们不相等
</script>
比如:String s="" 那么在内存上面已经分配了内存空间的,里面存了信息的,是一个空格键的编码.
String s=null 内存上面没有分配空间.
null 和 " " 这两种用法,
一个表示的是空, null还可以用在对象上面.一个表示的是没有任何字符串.
“ ”只有用在字符串上面,java等其他语言里面
分享到:
相关推荐
JavaScript 中的 undefined、null、NaN 的区别 在 JavaScript 中,undefined、null、NaN 是三个经常被混淆的概念,但它们有着不同的含义和用途。今天,我们将深入探讨这三个概念的区别和应用。 undefined 在 ...
在JavaScript中,有几种特殊的值,它们是`undefined`、`null`、空字符串`""`、数字`0`和布尔值`false`。尽管它们在某些情境下被视为“假值”,但它们各自有着不同的含义和用途。在逻辑判断中,这些值在`if`语句的...
在JavaScript中,`false`、`0`、`null`、`undefined`和空字符串`""`是五个特殊的值,它们在编程中扮演着不同的角色。理解它们的类型、等价性和在条件语句中的行为是至关重要的。 首先,让我们看看它们的类型: - `...
在程序语言中定义的各种各样的数据类型中,我们都会为其定义一个”空值”或”假值”,比如对象类型的空值null,.NET Framework中数据库字段的空值DBNull,boolean类型的假值false等等。在JavaScript中也有很多种的...
JavaScript中undefined和null的区别 JavaScript两个表示”无”的值:undefined和null。我在平时只是null用的多一点,undefined只是在报错中经常遇到。下面针对这两个数据类型的异同做一下详细的比较。 1.undefined和...
在JavaScript(JS)编程中,`undefined` 和 `null` 是两种不同的特殊值,它们各自表示不同的含义。理解和正确地判断这两个值对于编写健壮的JavaScript代码至关重要。在这篇文章中,我们将深入探讨如何在JavaScript中...
null和undefined属于js中两种不同的基本数据类型,都可以表示“没有”,含义非常相似。将一个变量赋值为undefined或null,老实说,语法效果几乎没区别。并且在if语句的判断条件中,它们都会自动转为false,相等...
与 `undefined` 相比,`null` 是一个表示“空值”的关键字,它被设计为一个空对象指针,尽管在 JavaScript 中它的类型标识为 `'object'`。这是一个历史遗留问题,因为在 JavaScript 最初的设计中,`null` 被认为是一...
在 JavaScript 中,每个变量都有一个类型,当变量未初始化或引用的对象不存在时,就会出现 `undefined` 或 `null`。 `undefined` 主要表示变量已声明但未赋值的情况。例如: ```javascript var test; // undefined ...
在JavaScript编程语言中,Null和Undefined是两种不同的原始值,它们在特定场景下有特定的含义,有时也会引起初学者的困惑。理解这两者之间的差异是编写健壮JavaScript代码的关键。 首先,Undefined类型是一个特殊的...
在JavaScript编程语言中,`undefined`和`null`是两种不同的数据类型,它们虽然在某些情况下可能被视为等价,但有着本质的区别。了解这两者的差异对于编写健壮的JavaScript代码至关重要。 首先,`undefined`是一种...
本文将深入探讨JS中的0、null、undefined、[], {}, '', false之间的关系。 首先,我们来看一下0与其他值的比较: 1. 0 == false:在JavaScript中,0被视为布尔值的假(false),因此0与false相等,即0 == false...
在JavaScript中,`null`和`undefined`是两个非常重要的概念,它们经常被用来表示变量没有值或对象属性不存在的情况。下面将详细讲解这两个概念及其差异。 `null` 是一个预定义的关键字,它代表一个特定的值,即“无...
在JavaScript编程中,正确地判断null、undefined和NaN是很重要的,因为这三种值在逻辑上和运算时都有一些特殊行为。本文将详细介绍如何在JS中检测这三种特殊值。 首先,null和undefined都是表示“无”的值。null是...
在这个话题中,我们将探讨JavaScript中的0、null、undefined、空字符串`""`、空数组`[]`、空对象`{}`以及布尔值`false`之间的关系。 1. **0与虚值的比较**: - `0 == false`:在JavaScript中,`false`被视为布尔...
### JavaScript中null与undefined分析 #### 一、引言 在JavaScript编程语言中,`null`和`undefined`是两个非常基础且重要的概念。虽然它们经常被用来表示“无值”或“空值”,但它们之间还是存在着一些关键性的...
在JavaScript编程中,有时我们需要处理复杂的数据结构,例如对象和数组,确保它们不包含无效的值,如`null`、`undefined`、空对象或空数组。这些无效值可能会导致错误或不必要的处理开销。本篇文章将深入探讨如何在...