JavaScript笔记-001变量与数据类型

118 阅读2分钟

变量与数据类型

使用 var 关键字声明变量

var a; // 未赋值,默认为 undefined
var b = 10;
var c = undefined;
var d = null; // 被赋值为 null

数据类型

原始数据类型

  • 数值型:Number
    • 整数
    • 浮点数
    • 特殊值:Infinity(无穷大)
    • 特殊值:NaN(Not a Number)
  • 字符串:String
    • 使用 " "/' ' 包裹字符串
  • 布尔类型:Boolean
    • true
    • false

复合数据类型

  • 对象(object)
  • 数组(array)
  • 函数(function)

特殊数据类型

  • 无定义数据类型:undefined
  • 空值:null

数据类型转换

隐式转换

  • 转换成布尔类型
    • undefined = false
    • null = false
    • 数值(0/0.0/NaN) = false
    • 字符串长度为 0 = false
    • 其他对象 = true
  • 转换为数值型类型
    • undefined = NaN
    • null = 0
    • true = 1
    • false = 0
    • 字符内容为数字 = 对应数字
    • 字符内容不为数字 = NaN
    • 其他对象 = NaN
  • 转换为字符串类型
    • 数值型/布尔类型/undefined/null = 内容直接显式转成字符串
    • 其他对象调用 toString 方法转换成字符串

显式转换

转换成布尔类型

  • 通过 Boolean 函数强制转换成布尔值
    • Boolean(undefined) = false
    • Boolean(null) = false
    • Boolean(0) = false
    • Boolean(NaN) = false
    • Boolean("") = false
    • 其他对象 = true

转换为数值型类型

  • 通过 Number 函数强制转换成数值型
    • Number(undefined) = NaN
    • Number(null) = 0
    • Number(false) = 0
    • Number(true) = 1
    • Number("123") = 123
    • Number("3kkk") = NaN
    • Number("3 6 9") = NaN
  • 通过 parseInt 函数强制转换成整型
    • parseInt(undefined) = NaN
    • parseInt(null) = NaN
    • parseInt(false) = NaN
    • parseInt(true) = NaN
    • parseInt("123") = 123
    • parseInt("3kkk") = 3
    • parseInt("3 6 9") = 3
  • 通过 parseFloat 函数强制转换成浮点型
    • parseFloat(undefined) = NaN
    • parseFloat(null) = NaN
    • parseFloat(false) = NaN
    • parseFloat(true) = NaN
    • parseFloat("123") = 123
    • parseFloat("3.14kkk") = 3.14
    • parseFloat("3 6 9") = 3

转换为字符串类型

  • 通过 String 函数强制转换成字符串
    • String(undefined) = "undefined"
    • String(null) = "null"
    • String(0) = "0"
    • String(NaN) = "NaN"
    • String(false) = "false"
    • String(true) = "true"
    • 其他对象调用 toString 方法转成字符串