数据类型

今天分享一下js中的数据类型,其中有5种基本数据类型包括Udefined,Null,Number,String,Boolean和一种复杂数据类型Object。
先来说下Number类型:

Number类型
<1> 声明变量:
它可以表示整数和浮点数,(存储浮点数的内存是保存整数的两倍)。 如果是整数,在它的声明并且初始化需要注意,如果是八进制,那么八进制的字面值的第一位必须是0(零),并且后面跟的数值为0~7;如果是十六进制第一位必须是0x,后跟0~9及A~F,如果超出范围会忽视前导0或者0x,按十进制进行计算。
<2> NaN
即非数值,这个数值用于表示一个本来要返回数值的操作数却未返回数值的情况,这样就不会抛出错误了,例如任何数值除以非数值都会导致错误,从而停止代码执行。
他本身有两个特性,任何涉及到NaN的操作,返回值都是NaN;NaN和任何值都不相等,包括它本身。可用isNaN()函数来帮助我们确定这个参数是否不是数值,该函数会将参数转化为数值,如不能转化为数值则返回true。
<3>数值转化
有三种方式可转化成数值类型,parseInt(),parseFloat(),Number()。
parseInt()该方法可以转化为整数,整数可能会有八进制,十六进制,为防止引擎解析错误,所以为该函数提供第二个参数,parseInt(解析数,进制基数)。parseInt()解析字符串时,会忽略前面的空格,直到找到第一个非空字符,如果第一个字符非数值或者负号,会返回NaN;如果第一个字符是数值,继续向后解析,直到解析完所有字符或者碰到一个非数值的字符后,就会解析停止。
parseFloat()该方法会转化为浮点数,以为只解析十进制,所以没有第二个参数,所以如果碰到十六进制的数值会解析为0。它的解析方式同上,但是在碰到第二个小数点时,它只会取有效位,忽略掉第二个小数点后的数,若碰到整数时,会返回整数。
Number()转化规则如下:
如果是Boolean值,true和false会分别转化为1和0;
如果是数值型,只是简单的传入和返回;
如果是undefined,返回NaN;
如果是null,返回0;
如果是字符串中只包含数字,则将其转化为十进制数值;
如果字符串中包含有效浮点数,则将其转化为对应的浮点数;
如果字符串中包含有效十六进制数,将其转化为相同大小的十进制数;
如果是空字符串,返回0;
如果字符串中包含除上述格式之外的字符,返回NaN;
如果是对象 ,则调用对象的valueOf()方法,然后按前面的规则转化返回的值。如果转化的结果是NaN,则调用toString()方法,然后再按照前面的转化规则转换返回的字符串。

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值