Javascript
不是面向对象的,但它是基于对象的。基于对象因为几乎每个Javascript内部类型都有自己的方法,不是面向对象是因为Javascript的设计者并没有考虑到类的应用,从没有class关键字就可以看出。不过这增加了它的灵活性,比如:function
既是一种变量类型(当然也被当做类来对待),优势类的定义符号,还是函数的定义符号。
如有疑问,请追问。
javaScript的面向对象和传统的面向对象不太一样,javascript是基于原型实现的,也就是每一个构造函数都有一个prototype属性指向一个原型对象,里面可以放公共的属性和方法,而构造函数的实例对象都有__proto__属性指向这个原型对象,而es6中的class写法也是基于原型的在javascript中所有的东西都是对象。(一切皆为对象)这个可以通过Object.prototype.toString.call(OBJ)来检验~
如果说javascript面向对象,这个不是特别准确,js是一种基于原型链的语言,这个比基于对象的语言诸如JAVA,C#等更加灵活。
如果说他是基于对象,这种说法我完全赞同。
希望对楼主有帮助~