JS是面向对象的语言,除开基础数据类型,其他所有的数据类型都是对象,包括函数。
如何去理解对象,什么是对象呢?
举个例子,比如我们将日常生活中见到的猫这种动物,抽象成一个类Cat,这里不去谈类是什么概念;
这个类里面,有一个个猫个体,其中一个个体是汤姆猫Tom,这个Tom就是一个具体的对象;
Tom的身高,体重,颜色等等,这些是Tom的固有属性,也即变量;
Tom的吃饭,跳跃,捉Jerry,这些都是Tom的行为,我们通常称其为Tom的方法,也即函数;
注意,因为对象的属性,本质上是变量,所以对象的属性,可以赋值为基础数据类型,也可以赋值为另一个对象;
还可以赋值为一个函数,因为函数也是一个对象,但是此时称呼其为对象的方法。
如何创建对象?
-
使用
new
关键字,创建某个类的一个具体对象,为了方便,下图用的是JS固有类Object()
-
使用
{}
,创建一个具体的对象,通常称这种为字面量对象这里创建了一个对象obj,它本质上有四个属性(name/color/son/eat),但是name/color是基础数据类型,son是另一个对象,eat是一个方法;
等号右边这种用大括号括起来,属性名和值用冒号互相对应,属性与属性之间用逗号隔开的形式,即是JSON的数据组织形式。