j***ascript面向对象编程教程,j***ascript面向对象编程指南

kodinid 18 0

大家好,今天小编关注到一个比较意思的话题,就是关于javascript面向对象编程教程问题,于是小编就整理了2个相关介绍JavaScript面向对象编程教程的解答,让我们一起看看吧。

  1. JavaScript是面向对象还是基于对象?
  2. js算不算面向对象的语言?

javaScript是面向对象还是基于对象?

面相对象其实算是一种开发方式,一种开发思想。js语言可以说是基于对象,但是由于一些原型函数特性也可以实现继承多态这些面向对象的语言的一些特征。es6出来了class 不过不同Java里面的类,其实算种语法糖。

js算不算面向对象的语言?

在es6出现之前,js是没有面向对象概念的,但是却可以用原型链(关键字:prototype)实现面向对象,在es6中已经引入了面向对象的概念,所有如今的js也算得上是面向对象的语言了。

javascript面向对象编程教程,javascript面向对象编程指南-第1张图片-安济编程网
图片来源网络,侵删)

谢邀,js肯定算面向对象语言。有句话说得好,“J***aScript里一切皆对象”。如果不确定,那我们首先明确下什么是面向对象,有三个核心概念。

一是一切事物皆为对象;

二是对象具有封装和继承特性;

javascript面向对象编程教程,javascript面向对象编程指南-第2张图片-安济编程网
(图片来源网络,侵删)

三是对象之间使用消息通信,各自存在信息隐藏。

我尝试通过以下几个例子来看Js是否都满足三个特性。

在一些静态类型的语言如j***a中,本身语法就提供了这些功能。js当中只能依靠变量的作用域来实现封装的特性,并且只能模拟public和private两种特性。

javascript面向对象编程教程,javascript面向对象编程指南-第3张图片-安济编程网
(图片来源网络,侵删)

虽然在es6中也有extend以及class,但其本质仍实现仍是基于原型机制。虽然原型继承方式写法很多,但是理解原型链机制比较重要,关键其实就是理解prototype和__prototype__。

多态其实就是把做的内容和谁去做分开。因为js是动态语言,多态性本身就有。下面这个例子就说明了,一个动物能否实现叫声,只取决于makeSound,而不针对某种类型的对象。

我学js时间不长不短,还算凑合吧。刚开始听到的是js是弱类型语言,不能面向对象编程。

到后来接触其他的编程语言之后有些明白了,面向对象不是哪个语言所特有的属性,而是一种思想,通俗些说就是把一个项目进行模块儿化。面向对象的三个特性,封装,继承,多态,从这三个方面来看,js是属于面向对象的编程语言范畴的。

但在js中的继承并没有其他语言中的那么繁琐,诸如c++中的公有,私有,保护什么的,所以说js是严谨的面向对象的编程语言又感觉不太合适,但在项目开发中是可以***用面向对象的思想来进行对js编程的。

还是那句话,面向对象不是哪个语言所特有的属性,而是一种编程的思想,与其说js是面向对象的编程,不如说是面向原型的编程语言。

当然关于面向原型什么,感兴趣可以看一下,其实没啥用在开发中!

小生才疏学浅,有解释不当的地方还请见谅,也可以私信评论互相学习

到此,以上就是小编对于j***ascript面向对象编程教程的问题就介绍到这了,希望介绍关于j***ascript面向对象编程教程的2点解答对大家有用。

标签: 对象 面向 原型