JavaScript命名规范
- 不能以数字开头
- 大小写字母与数字组合
- 允许符号,支持$和_
- 不能使用JS的保留字和关键字
- 组合词使用驼峰命名法
- 尽量使用有语义的单词命名
JavaScript数据类型分类
- 五种简单类型
(1)string 字符串
(2)number 数值
(3)Boolean 布尔类型
(4)null 空值
(5)undefined未定义 - 一种复杂类型(引用型,对象)
object 对象、函数 - typeof 检验数据类型
console.log(typeof 要检测的数据)
字符串转数值类型
强制转换
parseInt();
转换成整数
特点
a.如果转换的内容可以转成数字,那么就直接返回这个内容对应的数字。
b.如果不可以转换那么返回NaN.
c.如果带有小数,那么会去掉小数,而不是四舍五入。
d.如果第一个字符是数字,则继续解析直至字符串解析完毕或者遇到一个非数字符号为止.parseFloat()
转换成浮点数
特点
a.如果转换的内容可以转成数字,那么就直接返回这个内容对应的数字。
b.如果不可以转换那么返回NaN.
c.如果在内容中出现小数,那么小数会保留。
d.如果内容为空,那么转换成0;Number();
转换成数值型
a.如果转换的内容可以转成数字,那么就直接返回这个内容对应的数字。
b.如果不可以转换那么返回NaN.
c.如果在内容中出现小数,那么小数会保留。
d.如果内容为空,那么转换成0;
隐式转换
隐式转换一般和运算符有关系,
算术运算符 + - * /
JS的数据碰到运算符的时候,会尝试转换成能处理的数据
字符串显式转换和隐式转换成数值都有可能出现 NaN(非数字,代表转换失败Not a Number)
NaN与isNaN()
- NaN属于数字类型
- NaN与自己不相等,
NaN==NaN
为false - NaN是假的布尔值
- isNaN()用来判断是否为NaN,返回true或false
转换成布尔类型
强制转换
- !!
Boolean();
隐式转换
- 转换为true:非空字符串、非零数字、true、任何对象
- 转换为false:null、0、NaN、false、undefined、空字符串
运算符
- 算术运算符 ±*/%
- 逻辑运算符 && || !
- 比较运算符 >,< ,>= ,<= ,== ,===,!=, != =
- 赋值运算符 = ,+= ,-=,/=,*=
- 一元运算符 ++ –
一元运算符
如果++或者- -在前面,先运算,在赋值,运算结果与赋值结果一样
如果++或者- -在后面,先赋值,再运算
运算符优先级
从高到低
括号
一元算术运算符 ++ - -
二元算术运算符 先*/%再±
比较运算符
逻辑运算符 先&&后||
赋值运算符 =
四部分:算术>关系>逻辑>赋值
小结:
括号优先级最高,需要提升优先级,加括号即可
赋值优先级最低,都是运算完毕后在赋值
特殊情况
0=={}
false
0==null
false
0==[]
true
短路运算
- &&找假
当两边不是boolean类型的时候,就进行短路运算,也就是说如果第一个数转换为boolean类型为false的话,则直接返回第一个数,第二个数不看,如果第一个数转换为对应的boolean类型为true,则直接返回第二个数,与第二个数是什么没有关系。 - ||找真
如果第一个数转换为对应的boolean类型为false的话,则直接返回第二个数,不管第二个数是什么;如果第一个数转换为对应的boolean类型为true的话,则直接返回第一个数,第二个数不看。