数据类型
基本数据类型:数字(number),字符串(string),布尔(boolean),null,undefined;
数据类型:数字(number),字符串(string),布尔(boolean),null,undefined,对象(Object)
typeo验证类型
数字(number),字符串(string),布尔(boolean),null,undefined,对象(Object),function
为什么typeo验证null是Object?
在计算机里存储的都是二进制,例如000表示对象,1表示整数,010表示浮点数
100表示字符串,110表示布尔,null则全是0、
所以,typeof验证前三位是0的,则表示为对象,没有读取null后面的剩余值
运算符
基本运算符:+ — * / %(取余数)
赋值运算符:= += -= /= %=
a=a+b =>a+=b
写作简单,可以直接转化数字类型,计算机速度快
前++和后++区别
前++先自身加1,后参与其他运算;
后++先参与运算,后自身加1
比较运算符:== === != !== < > >= <=(返回两种结果 true flase)
==比较值是否相同,===比较值和类型都是否相同
逻辑运算符:&&并且 ||或者 !非
布尔运算符的运算方式
逻辑非:
如果操作是一个对象,返回false
如果操作是一个空字符串,返回true
如果操作是一个非空字符串,返回false
如果操作是一个数字0,返回true
如果操作是一个非0数字(包括Infinity),返回false
如果操作是一个null,返回true
如果操作是一个NaN,返回true
逻辑与:
如果第一个操作是一个对象,返回第二个操作值
如果第二个操作是一个对对象,只有第一个操作结构为true,才返回对象
如果前后都是对象,则返回第二个对象
如果第一个操作是null,则返回null
如果第一个操作是undefined,则返回undefined
如果第一个操作是NaN,则返回NaN
逻辑或:
如果第一个操作是一个对象,返回第一个操作数
只有第一个操作结构为false情况下,才返回第二个
如果前后都是对象,则返回第一个对象
如果前后都是null,则返回null
如果前后都是undefined,则返回undefined
如果前后都是NaN,则返回NaN
总结:逻辑与,有关键字返回关键字,不为false返回第二个。
逻辑或,前后都为关键字返回关键字,第一个为false才会返回第二个。
逻辑非,为空和关键字返回true,其他都返回false/
null和undefined的区别
都是用来表示空值
数字类型转化:
从页面上接收的值都是字符串
隐式转化:
6/4=1.5
"12"*q "12"/1 "12"-0变成 number
显式转化:
Number()除了字符串和undefined都能转化
parselnt()字符串转化为整型数字
parseFloat()字符串转化为浮点型数字