类究竟是什么

类究竟是什么

之前学到的,我的理解,JS没有像其他语言一样严格意义的类


构建函数的作用 跟类差不多。

怎么这节课又是People类又是Student类的

它俩不都是对象吗

为什么用类这个字,类究竟是什么,此类是不是彼类,有什么不用,有什么说法,为什么这样用。

正在回答

登陆购买课程后可参与讨论,去登陆

1回答

同学你好,解答如下:

1、在ES6之前的确是没有严格意义的类,构造函数与也都是针对原型所产生出来的概念。

2、这节课中所讲的是继承,可以理解为people是指全部人类,那么student是指全部人类中的学生,同时student还拥有people属性以外的属性或方法,比如study()方法在people上没有,student有people相同的属性或方法,这种情况就是student继承people。

3、他们是对象,但是他们是通过prototype指定原型的,是面向对象的一种思想。

4、使用类这个字也是因为其他语言中拥有这种思路,那么设计者也把面向对象,的思想写到了js中。由此产生类(其他语言中也有如java)的思路,但是js相比其他的语言面向对象这里会很灵活,并不是那么直接。

5、这里的类与css中的类不同,这里不知道是不是同学所说的此类是不是彼类的意思,js中的类一般来说会用在一些模块中,比如我们常见的轮播图,如果使用面向对象中的类开发,那么会把轮播图所有的功能全部都拆分出来,而并不再是function的一种书写方式。如下图:

之前我们在书写的时候会整体都放入一个js中来实现下列图中的效果。

https://img1.sycdn.imooc.com//climg/61f5f2c009c2366509340427.jpg

使用类的开发方式则是拼凑出来一个轮播图效果如下图:

https://img1.sycdn.imooc.com//climg/61f5f34a0919585112610450.jpg

那么使用类,本身使用有个轮播图的,那么在轮播图中还可以扩展出左右按钮,还可以扩展出导航小圆点,或者还可以添加其他的方式。而这种方法相比function更加灵活,可以不用更改该最原始的代码的基础上进行扩展其他的代码逻辑。

6、【拓展】一般使用类的都是一些中大型互联网公司,他们有自己的研发团队,比如需要一个轮播图要拥有自动、左右按钮、导航小点、可支持键盘左右键切换等等这样的需求,一般来说我们通过引入swiper轮播图插件就可以了,但是引入某个插件可能会造成引入其他用不到的代码,这样就会给项目展示或者性能上带来不必要的麻烦,所以这个时候使用类就可以只针对需求来做需求,而不需要在去为了一个效果去引入一堆不相干的代码了(比如曾经为了一个轮播效果,可能会引入将近2万行的JQ代码,实际上我们只可能需要其中的几行代码效果),另外比如这个效果在后期需要扩展,前端开发只需要针对这一部分进行扩展就ok,所以说使用类会让我们更好的维护、开发、复用...

7、在本阶段中的确对初学者不太友好,因为面向对象这一块确实有些抽象了,不过好在后面的ES6中也讲了类,在ES6的课程中类可以让我们更好的理解它的用法与含义,所以建议同学如果实在是不那么好吸收这一部分的知识点,可以在心里有个大概的认识,在ES6的课程中同学很多的疑问大概率是可以被解开的。

祝学习愉快!

  • JJGDSGA 提问者 #1

    老哥,类就是 某种东西的设计模型 实例是具体产品对吧。这个People类 Student类就是people 和 student 的设计模型是吧 yesornoonequestion

    2022-01-30 15:54:38
  • 好帮手慕小李 回复 提问者 JJGDSGA #2

    同学你好,可以先这么理解没有问题。等学到ES6时同学就应该对“类”这一块会有进一步的理解,因为ES6之前JS对“类这一块的使用,是处于一种抽象的概念。等到ES6的时候,官方对于“类”才出了专门的严格定义与书写标准。祝学习愉快!

    2022-01-30 16:09:06
问题已解决,确定采纳
还有疑问,暂不采纳

恭喜解决一个难题,获得1积分~

来为老师/同学的回答评分吧

0 星
请稍等 ...
意见反馈 帮助中心 APP下载
官方微信

在线咨询

领取优惠

免费试听

领取大纲

扫描二维码,添加
你的专属老师