JS再次回顾

96 阅读2分钟

一起养成写作习惯!这是我参与「掘金日新计划 · 4 月更文挑战」的第12天,点击查看活动详情

数据类型

Undefined类型:undefined(任何无值的东西)

  1. 没有return语句的函数返回值
  2. 未赋值的变量
  3. 稀疏数组中不存在的数组元素的值
  4. 不存在属性的的值
  5. 已删除的值 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,(09,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'