typeof 使用以及 null 和 undefined 的判断区分

1 typeof 的使用;这是一个运算符,不是方法

1.1 检测数据类型,返回的结果是一个字符串类型。有六种可能:number boolean string object function undefined

注意 typeof(null) 返回的是 : object

1.2 typeof 可以用于被声明 或者未被声明 的变量;但是未被声明的变量不能用其他运算符运算,之外的其他运算符的话,会引起错误,因为其他运算符只能用于已声明的变量上。

1.3 对于基本数据类型(Number Boolean String null undefined) 以及引用类型 object 的 typeof 值

1.3.1 类 : Object Function Array String Boolean Number Date ;这些未初始化为实例的类的 typeof 类型为 function

1.3.2 对象的创建方式是用关键字 new 后面跟上实例化的类的名字,当将一个函数通过 new 实例化之后,那么就创建了一个对象

1.3.3 基本数据类型的 typeof 的值

2 null undefined

2.1 null 是一个表示"无"的对象,转化为数值的时候值为 0;典型的用法是:

  • 用来初始化一个变量,该变量将来可能会被赋值成一个对象

  • 用来和一个已经初始化的对象进行比较,这个变量可以是一个对象,也可以不是一个对象

  • 当函数的参数期望是对象时,被用作参数传入

  • 当函数返回值期望是对象时,被当做返回值输出

  • 删除事件绑定,事件本身是一个 null ,是一个空的对象,可以添加

  • 作为对象原型链的终点

2.2 undefined 是一个表示"无"的原始值,转化为数值的时候值为 NaN ;典型用法是:

  • 变量被声明了,但是没有赋值,那么该变量的值就是 undefined

  • 调用一个函数的时候,如果应该提供的参数没有提供,那么该参数默认是 undefined

  • 如果一个对象的属性没有赋值,那么该属性值为 undefined

  • 函数没有返回值的时候,默认返回 undefined;

    2.3 如何区分二者?

  • == 运算符只比较值,不进行类型的比较,比较之前会进行隐式转化,null==undefined 返回 true.

  • === 区分两者,不仅仅比较内容,还比较数据类型 null===undefined false

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值