一、变量
变量:存储数据的一个容器
使用系统关键字var创建变量:(可多值)
- var 变量名称(声明)
- name = (赋值)
浏览器遇到var会自动开辟一个空间,变量名称实际是开辟出来的空间名称,空间里是变量的值
命名规则:
- 可由字母(大小写)、数字、下划线、$美元符号组合
- 不可以数字开头
- 不可是关键字、保留字
- 多单词组成一般用驼峰式命名
二、数据类型
数据类型:变量值的类型
基本数据类型:
- number 数值类型
- number:分为整型int、浮点型float
- string 字符串类型
- string:用引号包裹起来的字符就是字符串类型
- boolean 布尔类型
- boolean:用于条件判断--true真、false假
- null 空类型
- null:用于占位或清除一个变量的值(变量类型为object)
- undefined 未定义类型
- undefined:变量声明了但没赋值
typeof()可检查变量类型
数据类型转换
转成数值类型:
- Number()
- 若不是纯数字转为NaN
- 空字符串转为0
- true --> 1 false --> 0
- null --> 0 undefined --> NaN
- parseInt()
- 提取整型
- 从左往右,遇到非数字则停止
- 若非数字开头,则转为NaN
- parseFloat()
- 提取浮点型
- 从左往右,遇到非数字则停止
- 若非数字开头,则转为NaN
判断是否为数字:isNaN()
转成字符串类型:
- String()
- 变量.toString(进制)
- '+':字符串+数字 --> 数字转字符串(隐式类型转换)
注意:null.toString() 报错
undefined.toString() 报错
转成布尔类型:
- '0' --> true ' ' --> true '' --> true
- 0 --> false 正数、负数 --> true
- undefined --> false null --> false NaN --> false
隐式类型转换:
- 字符串 + 数字-->数字转字符串
- 数字 - 字符串-->字符串转数字(字符串不是纯数字则转NaN)
- *、/、>、<与减号的转换一样
- undefined == null true 都转成boolean
- 数字和字符串比较(10>'5' true)字符串转成数字
- 数字和布尔比较(1 == true true)布尔转成数字
- 字符串和布尔比较(‘1’ == true true)都转成数字
三、运算符
算术运算符:
- +:加法运算,拼接运算
- -:减法运算(隐式转换)
- /:除法运算(隐式转换)
- *:乘法运算(隐式转换)
- %:取余
赋值运算符:
- =:赋值,右边值给左边
- +=:a += 5 --> a = a + 5
- -=:a -= 5 --> a = a - 5
- *=:a *= 5 --> a = a * 5
- /=:a /= 5 --> a = a / 5
比较运算符:会进行隐式转换
- > 大于
- < 小于
- >= 大于等于
- <= 小于等于
- != 不等于(判断)
- == 等于(判断--只比值)
- !== 不绝对等于(值和类型有一个或两个不等,返回true)
- === 全等于(值和类型都相等,返回true)
逻辑运算符:
- &&与 (一假则假)
- || 或(一真则真)
- !取反
优先级:&&>||,且存在短路现象(&&:出现假则截止,返回为false;||:出现真则截止,返回为true)
一元运算符:(重点)
- ++:自增 加1
- ++在前,先+1,再运算
- ++在后,先运算,再+1
- --:自减 减1
- 同上