变量的命名规则(必须遵守,不遵守会报错)
- 由字母、数字、下划线、$符号组成,不能以数字开头
- 字母区分大小写
- 不能是关键字和保留字
- 关键字指的是 js 中有特殊功能的词语,比如 var,for 等
- 保留字指的是现在没有特殊功能,但是将来新语法中有可能作为关键字使用,比如 promise 等
变量的命名规范(建议遵守的,不遵守不会报错)
- 变量名必须有意义
- 遵守驼峰命名
JS 的数据类型
JS 中的值,无论是字面量还是变量,都有明确的类型
-
数据类型分类(以基本数据类型为主)
- Number 数字类型
- 不区分整数、浮点数、特殊值,都是 Number 类型
- String 字符串类型
- 所有字符串都是 String 类型
- undefined undefined类型
- undefined 本身就是一个数据,表示未定义,变量只声明不赋值的时候,值默认是 undefined
- Boolean 布尔类型
- Boolean 字面量:只有 true 和 false 两个字面量的值,必须是小写字母
- 计算机内部存储:true 为 1,false 为 0
- null null类型
- null 本身就是一个数据
- 从逻辑角度,null 值表示一个空对象指针
- 如果定义的变量准备在将来用于保存对象,最好该变量初始化为 null
- Object 对象类型
- Number 数字类型
-
数据类型检测
为什么要有数据类型检测
- JS 语言是一门动态类型的语言,变量并没有一个单独的数据类型,而是会随着内部存储数据的变化,数据类型也会发生变化
- 变量的数据类型,与内部存储数据有关
- 将来使用变量时,需要知道内部存储的数据是什么类型,避免程序出错
-
使用 typeof的方法进行数据检测
语法
typeof(数据)
数据类型转换
-
转为数字类型
字符串---纯数字字符串转换为对应的数字
- 空字符串 and 空白字符串 --- 转换为 数字0
- 非空非空白非纯数字字符串 --- 转换为 NaN
- NaN 类型为 number 类型,但是无法使用常规数字表达
boolean
- true --- 转换为 1
- false --- 转换为 0
undefined
转换为 NaN
null
转换为 0
Number(变量/数据)var res1 = "10086" var res2 = Number(res1) console.log(typeof(res1)) // string console.log(typeof(res2)) // numberparseInt(变量/数据)console.log(parseInt(true)) // NaNparseFloat(变量/数据)console.log(parseFloat(98)) // 98 console.log(parseFloat(98.987654)) // 98.987654变量/数据 - 0console.log("10086" - 0) -
转换为字符串类型
除了 undefined 和 null 之外都能转换为字符串类型
数据/变量.toString()
var num = 1
console.log(num,num.toString())
String(变量/数据)
console.log(String(false),false)
数据 + ""
console.log(undefined,undefined + "")
- 转换为boolean类型
转为 true
除了 0 和 NaN 之外的所有数字
非空字符串
转为 false
0 / NaN
undefined
null
Boolean(变量/数据)
console.log(Boolean(1))
!!变量/数据
console.log(!!1)