JS基础知识总结()
一、数据类型
五种基础数据类型,一种复杂数据类型
1、基础数据类型
又叫原始数据类型或者不可改变数据类型
number,string,boolean,undefined,null
undefind,null的区别
- null是一个关键字,undefined不是关键字
- typeof:undefined返回的是undefined,null返回的是object
- 数字类型转化时,null返回0,undefined返回NAN
Boolean
- 只有六个值强制转换时为false:null,undefined,0,'',-0,NAN,其他为true
Number
- 0.1+0.2不等于0.3,JS计算时使用二进制,故小数点操作需要先变为整数计算在变为小数
- NAN:typeof查看时返回number,不等于任何数字的数字,NAN不等于NAN
String
- length返回unicode编码长度
- 理论上只有对象可以用属性方法。使用属性方法时先强制转换为Object。
2、复杂数据类型——对象
无序的列表合集,引用类型,可以改变
- 引用类型
- 对象有属性,方法,可以改变
- 内部对象:错误对象,常用对象,内置对象
- 常用对象:String,Object,Number,Boolean,Function,Array,RegExp,Date等八种。
- 内置对象:Global,Math,Json。使用对象时不用new操作符
- 宿主对象:windows,和运行环境有关
- 自定义对象:其他自己创建的对象。
3、基础数据类型和对象的相互转化
- 原始类型转为字符串:原始类型上加“”;
- 原始类型到数字的转换:undefined——NAN,null——0,true——1,false——0,字符串——(可以强制转换)数字(无法强制转换)NAN(空字符串)0,
- 原始类型到布尔值:null,undefined,0,'',-0,NAN——false,其他为true
- 原始类型和对象的互转
- null和undefined无法转为对象,会报错
- Number和Boolean转换为对象——得到原始值
- String转换为对象——得到原始值,length,每一个字符,字符串调用属性会先转为对象进行操作,操作结束后会销毁当前对象,因为原始类型不可改变。
网友评论