一、什么是对象
-
js中将对象描述成一组无序属性的集合,其属性值可以包含基本值、对象或者函数(当属性值为函数时我们便叫它方法),只有对象才有属性和方法;
-
属性集合:无非就是一组名(也叫键)值对,每个属性名都映射到一个值,也有人叫散列、散列表、字典、关联数组…;
-
无序:即js对象的属性排列没有顺序,会因浏览器而异;
-
javascript中除了null、undefined、string、number、boolean基础数据类型外的都是对象;
二、对象分类
- 内置对象:由 ECMAScript 实现提供的、不依赖于宿主环境的对象。
例如:Object、Array、Date、Function、RegExp、Error、EvalError 、RangeError 、ReferenceError 、SyntaxError 、TypeError、URIError 、Boolean、Number、String、Global、Math、JSON都属于内置对象;
- 1、单体内置对象:内置对象中又存在有三个单体内置对象Global、Math、JSON,也就是已经实例化过的对象。
我们以Array和Math作对比,在控制台输入如下:
Array; //ƒ Array() { [native code] };
typeof Array; //"function"
此时的Array是内置构造函数,未经过实例化,还不是一个对象;
Math; //Math {abs: ƒ, acos: ƒ, acosh: ƒ, asin: ƒ, asinh: ƒ, …}
typeof Math; //"object"
输入Math,控制台打印出了该对象所有的属性和方法,证实它已经是一个对象;
- 2、基本包装对象:内置对象中还存在三个基本包装对象Boolean、Number、String,每个包装类型都映射到同名的基本类型。
"123456".split("")</