创建对象
- 使用Object构造函数
最早JS程序员要创建对象,就通过Object构造函数来进行对象的创建
这种方式创建对象的缺点在于没有对对象进行封装,所以每次创建对象都需要书写大量的代码
这种方式创建对象已经被废弃了
- 使用字面量创建对象
使用一对花括弧:
这种方式书写起来更加简便,但是本质上和Object是类似的,没有进行封装。但是这种方法不仅没有被废弃,反而现在非常的火,基本快要替代XML
使用这种方式创建的对象有一个名字叫做JSON,全称JavaScript Object Notation,翻译成中文是JavaScript对象交换格式,这个JSON主要是做数据的传输。
XML也是用于数据的传输,但是XML的解析非常的麻烦,有很多无用标签,所以已经逐渐被JSON所替代
- 使用自定义构造函数创建对象
使用自定义构造函数以后,实例化对象不需要再一次书写name,age等属性,只需要通过一个关键字new实例化出来一个就可以了。这种写法更加接近其他的高级语言。
但是这种方式还是有一个缺点,那就是方法对于每个对象来说是公用的。所以有一份就可以了,不需要每个对象里面都有一份这个相同的方法
- 构造函数+原型方法
这种方式的核心理念就是将共同的方法部分写在了原型对象上面。之后实例化出来的每个对象都共享这个原型方法
- ES6中创建对象的方式
从ES6开始,JS已经变为了一门通用的编程语言。创建对象的方式也更加靠近其他的高级语言,在ES6里面就已经增加了class关键字
虽然ES6里面添加了class关键字,可以使用class来创建类,但是这个东西只是一个语法糖。
所谓语法糖:就是让人书写代码更加轻松的方式
也就是说,背后的实现,还是和ES6之前的构造函数+原型方法的创建方式一样