类型、相等知识点

undefined

在任何不确定的情况下,使用未初始化的变量、访问不存在(或已删除)的属性、使用不存在的数组元素时——你都将遇到undefined。
undefined可以简单理解为:对于任何还没有值(即还未初始化)的东西赋给它。

  • 可以判断是否给变量(属性或数组元素)赋值了
//变量
var x
if( x == undefined){
	//x未定义,处理何种情况                       
}


//对象的属性
var customer = {
	name: "jenny"
};
if(customer.phoneNumber == undefined){
	//获取客户的电话号码
}

null

简单理解:要是有对象,我就会是一个对象,可当前没有。就是null
拿document。getElementById来说,要求它返回一个对象,如果它无法返回一个对象,就返回null。
在应该提供一个对象,但无法创建或找到时,将提供null;在变量未初始化、对象没有指定属性或数组没有指定元素时,将返回undefined。

  • 可以用null来检查对象是否存在
var header = document.getElementById("header")
if(header == null){
	//不存在header元素
}

NaN

NaN来表示它无法表示的数值结果,比如0/0,在计算机中无法表示其结果,因此JavaScript使用NaN来表示它。
NaN与自己不相等

  • isNaN函数
if(isNaN(myNum)){
	myNum = 0;            //使用函数时,它在传入的值不是数字时返回true
}
  • typeof
var test = 0/0
console.log(typeof test)            //输出是number 

==运算符

  • 如果两个值类型相同,就直接进行比较
    如两个数字或两个字符串进行比较
  • 如果两个值类型不同,则尝试将它们转换为相同的类型,再进行比较
    情形一:比较数字和字符串
    99 == "vanilla"   //字符串无法转换为数字
    99 == NaN        //在试图将“vanilla”转换为数字时,结果为NaN,
    false           //而它与什么东西都不相等,因此结果为false
    
    情形二:比较布尔值和其他类型
    1 == true      //将数字和布尔值进行比较,将 true 转换为数字1
    1 == 1        //将1 与 1 进行比较  结果为true
    true
    
    情形三:比较null和undefined
    undefined == null  //相等
    true  
    

===严格相等

(可以使用==的任何地方,都可以使用 严格相等)
当且仅当两个值的类型和值都相同时,它们才是严格相等。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值