Undefined类型只有一个值,特殊的undefined。当声明但未初始化时,此变量的值未定义。在未声明的变量上使用typeof运算符返回未定义。但是其他操作会报错。console.log(typeoffoo)//"undefined"console.log(foo)//ReferenceErroraboutundefined还有一种严谨的方式可以通过void0来实现,原因是undefined不是JavaScript关键字,也就是说undefined可以作为标识符使用,也可以修改window.undefined的值。Null类型只有一个值,即特殊的null。从逻辑上看,一个空值代表一个空对象指针,所以使用typeof运算符来检测一个空值并返回对象。如果你定义了一个变量,以后要用来保存对象,最好将该变量初始化为null。Boolean类型主要介绍Boolean()函数console.log(Boolean('a'))//trueconsole.log(Boolean(''))//falseconsole.log(Boolean(1))//trueconsole.log(Boolean(0))//falseconsole.log(Boolean(-1))//trueconsole.log(Boolean(NaN))//falseconsole.log(Boolean(Infinity))//trueconsole.log(Boolean(-Infinity))//trueconsole.log(Boolean({}))//trueconsole.log(Boolean(null))//falseconsole.log(Boolean(undefined))//falseNumber使用IEEE754格式来表示整数和浮点值。//十进制constintNum=55;//Octal--首位必须为0,后面跟着一个八进制数字序列(0~7)在严格模式下是无效的,会抛出错误。constoctalNum1=070;//八进制56constoctalNum2=079;//无效的八进制值-解析为79constoctalNum3=08;//无效的八进制值-解析为8//十六进制-前两位数字必须是0x后跟十六进制数字(0~9和A~F),字母A~F不区分大小写。consthexNum1=0xA;//十六进制的10consthexNum1=0x1f;//十六进制中的31在进行算术运算时,会将所有八进制和十六进制值都转换为十进制值。浮点值的最大精度为17位小数。默认情况下,ECMAScript将小数点后超过6个零的浮点值转换为科学计数法。永远不要测试特定的浮点值。常量floatNum1=.1;//有效,不推荐constfloatNum2=1.;//小数点后无数字,解析为1constfloatNum3=10.0;//整数,解析为10constfloatNum4=3.125e7;//科学计数法。3.125乘以10的7次方。等于31250000。//判断两个数是否相等functionequal(n1,n2){returnMath.abs(n1-n2)
