js诞生
- 作者: 布兰登 艾奇
- ECMAScript5.0 --> es5
注释
- 单行 //
- 多行 /* */
javascript三种书写方式
- 行内
- 内部
- 外部
变量
- 含义
- 使用
- 存储数据
- 定义变量
- 赋值
- 获取数据
- 使用变量
- 存储数据
变量名命名规则和规范
数据类型
- number string boolean undefined null
判断类型
- typeof(数据)
- typeof 数据
数据类型转换
-
其他类型转数值
- 三个方法
- Number(数据) 将数据当成一个整体来进行转换
- parseInt(数据)
- parseFloat(数据)
- 三个方法
-
其他类型转字符串
- 两个方法
- String(数据)
- 所有的类型在转字符串的时候都可以使用String方法进行转换
- 数据.toString()
- undefined和null使用toString方法的时候会报错
- 其他类型可以使用toString
- 这个方法有一个妙用 当一个数值转换成字符串的时候可以让他转换进制
- 数值.toString(进制数)
- String(数据)
- 两个方法
-
其他类型转布尔值
- 一个方法
- Boolean(数据)
- 空字符串 0 NaN undefined null会转换成false
- 其他都会转换成true
- 一个方法
-
其他类型转undefined 直接将数据赋值为undefined
-
其他类型转null 直接将数据赋值为null
进制
- 二进制
- 0 1 10
- 前缀 0b
- 八进制
- 0 1 2 3 4 5 6 7 10
- 前缀 0o
- 十进制
- 0 1 2 3 4 5 6 7 8 9 10
- 十六进制
- 0 1 2 3 4 5 6 7 8 9 a b c d e f 10
- 前缀 0x
NaN
-
含义: 代表数值类型的非数字
-
NaN not a number(数字) 不是一个数字
-
是数值类型代表一个非数字
-
产生
- 在其他类型转数值的时候得到的
- 在进行数学运算的时候也会得到
-
注意事项
- NaN和任何数做任何比较结果都是false
- NaN和任何数做任何运算结果都是NaN
运算符
-
数学运算符
+ - * / %
- 当加法遇到字符会拼接 其他的都会转数值在进行数学运算
-
比较运算符
-
> < ==(相等) >= <= !=(不等) ===(全等、恒等) !==(恒不等 全不等)
-
==
和===
==
只关注值是否相等 只要值相等结果就是为true===
既关注值也关注类型 必须是值相等 类型相同才问true
-
!=
和!==
-
-
赋值运算符
= += -= *= /= %=
- 将符号左侧的数据和右侧的数据进行计算之后将结果再赋值左侧的数据
- a+=b --> a=a+b
-
逻辑运算符
- && 并且 且
- 多个条件需要每一个条件都满足
- || 或者 或
- 多个条件只需要满足一个条件就可以
- ! 取反 非
- 原来的条件为真取反之后变为假 原来的假变为真
- && 并且 且
-
逻辑短路
- 编程上面的短路: 代表某一段不执行 直接跳过
-
一元运算符
- 自增
- a++
- ++a
- 自减
- a–
- –a
- 前置和后置的区别
- 如果只要自增或者自减运算 没有区别 每一次算完之后都会改变自身的值
- 除了自增和自减之外, 还参与了其他运算
- 自增
-
三元(目)运算符
- 相当于简单的判断(if…else)
- 语法
条件 ? 成立执行的语句 : 不成立执行的语句
分支语句 判断语句 选择语句
- if…else
- 单分支语句: 单个条件 只考虑满足的情况
if(条件){ // 只有条件成立才会执行的雨具 }
- 双分子语句: 单个条件 既考虑满足的情况 也考虑不满足的情况
if(条件){ // 条件成立才会执行的语句 }else{ // 条件不满足才会执行的语句 }
- 多分支语句: 多个条件 考虑每一个条件的满足情况
if(条件01){ // 满足条件01执行的语句 }else if(条件02){ // 满足条件02执行的语句 }else if(条件03){ // 满足条件03执行的语句 } ... else{ // 以上条件都不满足执行的语句 }