-
构造器constructor,
- 某些培训机构讲师说构造器就是构造函数? 这说法对吗?
- 构造器里的new又是什么呢? 经常有人说new一个东西, 该怎么理解new?
- 在vuejs中, 也经常会出现使用 new关键字 "创建vue实例"的情景.
- 实例化的英文是instantiate 还是instance? 什么叫做实例化?
多谢了
构造器constructor,
多谢了
构造器相当于一个生产机器,而实例化是使用生产机器产出一个物品。 new + 构造器(构造函数)会产生一个对象,而new操作符的作用分为:1、生成一个对象 2、将this指为对象 3、将该对象作为构造器的结果返回 其中如果构造器自己返回了一个对象,那么new操作符产生的对象就不会被返回。
10 回答11.1k 阅读
6 回答3k 阅读
5 回答4.8k 阅读✓ 已解决
4 回答3.1k 阅读✓ 已解决
2 回答2.7k 阅读✓ 已解决
4 回答2.5k 阅读✓ 已解决
3 回答2.3k 阅读✓ 已解决
构造器constructor
js
里类的别称,类在高级语言中是一个普遍存在的概念,它是一个模板,它没有实体对象,相当于制定了一种创造实体的规格,它是为了实现继承的功能,对应于现实中工业化革命以来实现批量生产的模式。但js
实质上没有实现真正的类,而是用new
关键字+构造函数的方式替代实现了这个功能,这是有历史原因的,作者一开始并不想把这个语言设计的那么复杂。而正是由于构造器是以函数形式实现的,才把构造器叫做构造函数。new
是一个语言预定义的关键字,其实质是通过在语言内部执行了一些操作而创建出符合类模板的实例对象,语言里的关键字通常都对应了内部机制中的一系列操作,而new
关键字在js
中就是使用在构造函数之前,通过它才会将构造函数当作构造器来使用,如果没有new
关键字,其实定义的构造函数与普通函数无异。vue
还是其他的js
框架,都是通过创建一个实例对象来实现应用的,框架的实质就是制定了一套具备各种功能的类模板,通过实例化来执行它的功能。instantiate
,很明显这是一个动词,instance
是实例的意思。实例化就是通过类模板创建出可以使用具体功能的实体对象。因为大多数高级语言都是面向对象的,所以才会有这样的方式。如果你使用过flash
之类的软件,就会很形象的明白类和实例的关系。就是一个模具和产品的关系,生活里处处可见。