JavaScript 基本数据类型概念和相互之间的关系

JavaScript 数据类型

基本数据类型:undefined 、null 、String、Boolean、Number

引用数据类型:Object、Function、Array、Date等

undefined

1、使用一个变量,但是没有进行初始化

 

2、获取一个对象中不存在的属性时

 

3、函数没有返回值时,默认返回undefined

 

4、函数定义了多个形参,但是调用的时候,传入的实参数量少于形参,这样没有匹配到的形参值为undefined

 

null

null表示一个空指针对象 typeof 返回为object

 

1、定义变量的时候可以初始化为null

2、无法获取document 元素返回为null

3、通过正则表达式进行匹配,如果没有匹配成功,则返回null

undefined和null

相同点:

类型转化boolean类型时都为false

转换成对象时都抛出TypeError异常

undefined派生于null在非严格模式下相等

 

不同点:

null是关键字 undefined是全局变量

用typeof检测时 null为Object undefined为undefined

 

转化为字符串时null转化为“null” undefined转化为“undefined”

转化为数值是null转化为0,undefined转化为NaN不能参与计算

 

建议:

初始化变量时用null不用undefined

Boolean类型转换

当判断语句所判断中不是boolean类型时,javaScript进行自动转换(Boolean( ))。

String转化为boolean时:空字符串为false,其余都为true

数字类型转化为boolean时:0和NaN转化为false,其余都为true

Object转化为boolean时:当对象为null时为false,其余都为true

Function转化为boolean时:都为true;

null和undefined转化为boolean时:都为false

Number

进制

八进制:以0开头,后面的数字应为0~7,超过7变为以十进制

十六进制:以0x开头,后面为0~9||A~F 没在范围内会报错

Number转化:

boolean转化:true为1,false为0.

null转换:为0

undefined转换:为NaN

String转换:

<1> 当字符转包含数字或者浮点数,则会转化为10进制,第一位为0的话,会省略0(列“0123”转化为123,“1.23”转化为1.23)

<2>如果包含了有效的十六进制,会以10进制输出(例:“0x3f”转化为63)

<3>如果是空字符转化为0

<4>如果字符串包含了除上述格式以外的字符串,会转化为NaN

Number()

进行类型转换,将其他类型转换为Number类型,符合上述类型转换

parseInt(String,redix)

将String类型转化为整形,redix可不写默认为十进制,当字符串中出现不属于数字是将后面字符都忽略,当传入值为Number类型时,先将Number进行计算转化为十进制再转化为String类型,再进行转换为整形

parseFloat(String)

将String转化为整形,当字符串中出现不属于数字是将后面字符都忽略,只识别字符串中第一个点,当传入值为Number类型时,先将Number进行计算转化为十进制再转化为String类型,在进行转换为浮点型。

isNaN()与Number.isNaN()

isNaN( ) 传入值如果不是Number,会自动转化为Number类型,如果传入值或者传入值转化为Number类型的值为NaN 输出true,否则输出false。

Number.isNaN( ) ,传入值不自动进行数据类型转换,如果传入为NaN输出true,否则输出false。

 

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值