一起养成写作习惯!这是我参与「掘金日新计划 · 4 月更文挑战」的第12天,点击查看活动详情。
数据类型
Undefined类型:undefined(任何无值的东西)
- 没有return语句的函数返回值
- 未赋值的变量
- 稀疏数组中不存在的数组元素的值
- 不存在属性的的值
- 已删除的值 6.创建对象时不能赋给属性的值
typeof 监测变量数据类型
- 返回字符串
- 可以是变量,也可以是字面量
- 是操作符而不是函数()可省略: 例如 typeof 95 //'number'
NULL类型:null
- 表示一个空对象指针 用typeof监测会返回“object”
- 如果确认变量是要保存为对象就应该用null初始化
Boolean类型
(1)true: 'qwqw' , 非零数字 , 任何对象,N/A(不适用) (2)false:'' , 0和NAN (无法计算结果时出现,表示"非数值";但是tapeof NaN==="number"), null, undefined
Number类型:
-
八进制:前面必须是0 (超出范围会出错)范围是0~7
079 === 79, 070 === 56
(八进制可能报错)
-
十六进制:前面必须是0x,(0
9,AF,字母不区分大小写)0xA === 10
Indefinity:超出范围 (正无穷)
- Indefinity:超出范围 (负无穷)
- 监测:isFinite(Number.MAX_VALUE+Number.MIN_VALUE) === false
NaN(Not a Number)非数值
任何数值/0 === NaN
NaN/ 任何数值 === NaN
NaN !== 任何东西(包括NaN)
- 监测:isNaN(NaN) === true
数值转换
Number(): (一般不用)
- 转换规则。会忽略掉0 ,null返回0,不含数字的字符串返回NaN
parseInt():
- 忽略字符串前面的空格,第一(可以是第二个)个字符必须是数值或 - ,否则会返回NaN 会将十六进制和八进制(优于Number())转换成十进制
- 会忽略小数点后面的数字,parseInt(‘123dsds’) === '123'
- 第二个参数可以指定进制 parseInt(‘AF’,16) //175
parseFloat():(有缺陷)
只适用于十进制
String类型:
转义序列当成一个字符
转换成字符串 :
变量.toString() (可在括号里写进制):
let num =10;
num.toString(16); //'a'