null 和undefined的区别

1、 定义

== undefined原理上可以说是没有找到==
null原理上意思为空对象

2、null和undefined的区别

1.首先是数据类型不一样

用typeof进行判断,null的数据类型是object,undefined的数据类型是undefined。

console.log(typeof null) // object
console.log(typeof undefined) // undefined

2.null和undefined 两者相等,但是当两者做全等比较时,两者又不等。(因为它们的数据类型不一样)

console.log(null == undefined) // true
console.log(null === undefined) // false

3.转化成数字的值不同

console.log(Number(null)) // 0
console.log(Number(undefined)) // NaN
console.log(22+null) // 22
console.log(22+undefined) // NaN

4.null代表"空",代表空指针;undefined是定义了没有赋值

var a;
console.log(a); // undefined

var b=null;
console.log(b) // null

3、null和undefined的运用场景

undefined

1、变量被声明时,但没有赋值时,就等于undefined
var a;
console.log(a); // undefined
2、调用函数时,应该提供的参数没有提供,该参数等于undefined
	function f(a,b) {
          console.log(a,b)
      }
      f("你好");   //输出结果为:你好 undefined
3、对象没有赋值的属性,该属性的值为undefined
	var obj = {
          name:"lihua",
          age:"18"
      }
      console.log(obj.sex)  //输出结果为: undefined
4、函数没有返回值时,默认返回undefined
  	function  add(a,b) {
         var c = a+b;
         //  没有返回时为undefined 
         //return c;
     }
     console.log(add(1,2));  //输出结果为:undefined

null

1、作为函数的参数,表示该函数的参数不是对象(不想传递参数)
     function  add() {
         console.log(111)
     }
     add(null);
2、作为对象原型链的终点
3、如果定义的变量准备在将来用于保存对象,此时可以将该变量初始化为null
var a = null;
console.log(a);//null
  • 9
    点赞
  • 44
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值