一,JS的运行环境
- 在html中使用JS,浏览器去解析
- NodeJS环境内封装了JS的解析器
二,JavaScript的特点
1.客户端执行
2.执行顺序自上而下
3.弱类型(数据类型)语言
var a = 1;
var a = 'hello';
4.解释性语言,可直接执行
三,逻辑与 && 短路运算符
a&&b
返回值不一定为boolean类型
有假则假,同真为真
如果第一个数是假性值,那么返回该值
如果第一个数是真,返回第二个数
四,逻辑或 || 短路运算符
a||b
返回值不一定为boolean类型
有真则真,同假则假
如果第一个数是真,那么返回第一个数
如果第一个数是假的,直接返回第二个数
五,逻辑非 ! 取反
将一个其他数据类型转换成boolean类型的反值
!true false
!null true
!'' true
!!'' false
!!将其他的数据类型转换成boolean类型
六,类型转化:
1,其他数据类型转换成boolean
Boolean()
!!
2,其他数据类型转换成string
.toString()
String()
+''
3,其他数据类型转换成number类型
Number()
+
+的特性
如果两边都是number类型,进行累加
如果两边有一个是number类型,另外一个不是string类型,将另外一个转成number 类型再累加
如果有一边是string类型,另外一边是其他的基本数据类型,直接进行字符串的拼接
一元运算符+,进行数据类型的转换
有一边是number类型,另一边是object类型,优先调用valueOf()方法,如果没有则调用toString()方法
1+obj
有一边是string类型,另一边是object类型,优先调用valueOf()方法,如果没有则调用toString()方法
'hello'+obj