首页
技术小册
AIGC
面试刷题
技术文章
MAGENTO
云计算
视频课程
源码下载
PDF书籍
「涨薪秘籍」
登录
注册
第1章 JavaScript重点概念
1.1 JavaScript的基本数据类型介绍
1.2 Number类型详解
1.2.1 Number类型介绍
1.2.2 Number类型转换
1.2.3 isNaN()函数与Number.isNaN()函数对比
1.2.4 浮点型运算
1.3 String类型详解
1.3.1 String类型的定义与调用
1.3.2 String类型常见算法
1.4 运算符
当前位置:
首页>>
技术小册>>
Javascript重点难点实例精讲(一)
小册名称:Javascript重点难点实例精讲(一)
在JavaScript中,Number类型的数据既包括了整型数据,也包括了浮点型数据。 下面讲解整型数据的处理规则。最基本的数值采用的是十进制整数,另外,数值还可以通过八进制或者十六进制表示。 ① 八进制。如果想要用八进制表示一个数值,那么首位必须是0,其他位必须是0~7的八进制序列。如果后面位数的字面值大于7,则破坏了八进制数据表示规则,前面的0会被忽略,当作十进制数据处理。 ``` var num1 = 024; // 20 var num2 = 079; // 79 ``` 其中num1首位为0,表示八进制数,然后判断后面每位数值在0~7内,符合八进制数据表示规则,最后将其转换为十进制数值2×8 + 4 = 20。 num2首位为0,表示八进制数,然后判断后面每位的数值,最后一位9超出了八进制字面值,所以不属于八进制数据,最终按照十进制处理,结果为79。 ② 十六进制。如果想要用十六进制表示一个数值,那么前两位必须是0x,其他位必须是十六进制序列(0~9,a~f或者A~F)。如果超过了十六进制序列,则会抛出异常。 ``` var num3 = 0x3f; // 63 var num4 = 0x2g; // SyntaxError: Invalid or unexpected token ``` 其中num3前两位为0x,表示十六进制数据,然后判断后面每位均属于十六进制字面值区间,符合十六进制数表示,最后将其转换为十进制数值3×16+15=63。 num4前两位为0x,表示十六进制数据,然后判断后面每位数值,最后一位g超出了十六进制所能表示的字面值区间,所以不满足十六进制数据表示规则,最终抛出异常“SyntaxError:Invalid or unexpected token”。 此外,和Boolean类型一样,当其他类型在与Number类型进行数据转换时,也会遵循一定的规则。 (1)Boolean类型转换为Number类型 · true转换为1。 · false转换为0。 (2)Null类型转换为Number类型 · Null类型只有一个字面值null,直接转换为0。 (3)Undefined类型转换为Number类型 · Undefined类型只有一个字面值undefined,直接转换为NaN。 (4)String类型转换为Number类型 · 如果字符串中只包含数字,则会转换成十进制数;如果前面有0,会直接省略掉,例如"0123"会转换为123。 · 如果字符串中包含的是有效的浮点数,则同样按照十进制转换,例如"1.23"会转换为1.23。 如果字符串中包含有效的十六进制格式,则会按照十进制转换,例如"0x3f"会转换为63。 · 如果是空字符串,则转换为0。 · 如果字符串中包含了除上述格式以外的字符串,则会直接转换为NaN。 (5)Object类型转换为Number类型 · Object类型在转换为Number类型时,会优先调用valueOf()函数,然后通过valueOf()函数的返回值按照上述规则进行转换。如果转换的结果是NaN,则调用toString()函数,通过toString()函数的返回值重新按照上述规则进行转换;如果有确定的Number类型返回值,则结束,否则返回“NaN”。 Number类型作为一种常用的基本数据类型,开发人员在使用时往往会因为没有理解到原理而踩到一些隐形坑。接下来就讲解在使用Number类型数据或者函数时,需要注意的一些点。
上一篇:
1.2 Number类型详解
下一篇:
1.2.2 Number类型转换
该分类下的相关小册推荐:
编程入门课:Javascript从入门到实战
ES6入门指南
javascript设计模式原理与实战
Javascript-ES6与异步编程
JavaScript面试指南
npm script实战构建前端工作流
JavaScript入门与进阶
WebSocket入门与案例实战
剑指javascript
Flutter核心技术与实战
经典设计模式Javascript版
KnockoutJS入门指南