JS学习之一(null、 undefined、 0、 false、 "")

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等其他语言里面


 

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值