探讨javascript是不是面向对象的语言

 更新时间:2013年11月21日 09:46:02   作者:  
这篇文章主要是介绍了javascript是不是面向对象的语言。需要的朋友可以过来参考下,希望对大家有所帮助

1 它拥有对象,可以包含数据和处理数据的方法。对象可以包含其它对象。他没有类(在javascript2.0真正实现之前),但它却有构造器可以做类能做的事,包括扮演变量和方法的容器和角色。他没有基于类的继承,但它有基于原型的继承。两个建立对象系统的方法是通过继承和通过聚合。javaScript两个都有。

2 一些评价说javascript不是真正面向对象的因为它不能提供信息的隐藏。也就是,对象不能有私有变量和私有方法:所有的成员都是公共的。但随后有人证明了javaScript对象可以拥有私有变量和私有方法。另外还有批评说javascript不能提供继承,但随后有人证明了javascript不仅能支持传统的继承还能应用其他的代码复用模式。

3 说javascript是一种基于对象的语言,是一种正确而略显保守的判断,而说javascript不面向对象,在我看来则是错误的认知,事实上有充足的理由证明javaScript是一种面向对象的语言,只是与传统的基于类的面向对象相比,javaScript有它与众不同的地方,这种独特性我们称它为基于原型的面向对象。

-----------------------------------------

因为js是弱类型语言.不像c++,C#这类型语言!他不支持函数方法重载.你之前写一个方法.后面再写一个相同名字的方法他默认会把上一个方法覆盖掉!这种情况和PHP中相同!

他不像是C#等语言支持函数重载.根据不同的参数.返回值调用不同的方法!

关于JS是不是面向对象.他不完全是面向对象,他也可以写成类,方法,属性.但是和其它的语言稍有不同!比如
var cls={
my:{a:0},
init:function()
{
  alert(this.my.a);
}
};
window.onload=function()
{
cls.init();
}

调用cls.init();

这就是他的类,但是缺少了好多面向对象的一些特性.楼上说的很清楚!所以说他不是完全面向对象

面向对象只是一种思路一种解决问题的思路!

相关文章

  • JS实现仿UC浏览器前进后退效果的实例代码

    JS实现仿UC浏览器前进后退效果的实例代码

    这篇文章主要介绍了JS实现仿UC浏览器前进后退效果的实例代码,实现此功能前需要先测试下浏览器,具体实例代码,大家参考下本文
    2017-07-07
  • 微信小程序  TLS 版本必须大于等于1.2问题解决

    微信小程序 TLS 版本必须大于等于1.2问题解决

    这篇文章主要介绍了微信小程序 TLS 版本必须大于等于1.2问题解决的相关资料,需要的朋友可以参考下
    2017-02-02
  • JS自调用匿名函数具体实现

    JS自调用匿名函数具体实现

    定义一个函数用做临时的命名空间,在这个命名空间内定义的变量都不会污染到全局命名空间,需要的朋友可以参考下
    2014-02-02
  • ES6 class的应用实例分析

    ES6 class的应用实例分析

    这篇文章主要介绍了ES6 class的应用,结合实例形式分析了class在ES6面向对象程序设计中定义类的相关操作技巧,需要的朋友可以参考下
    2019-06-06
  • event.X和event.clientX的区别分析

    event.X和event.clientX的区别分析

    解释一下event.X和event.clientX有什么区别?event.clientX返回事件发生时,mouse相对于客户窗口的X坐标 event.X也一样但是如果设置事件对象的定位属性值为relative
    2011-10-10
  • 详谈js中window.location.search的用法和作用

    详谈js中window.location.search的用法和作用

    下面小编就为大家带来一篇详谈js中window.location.search的用法和作用。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2017-02-02
  • 亲自教你TypeScript 项目搭建过程

    亲自教你TypeScript 项目搭建过程

    这篇文章主要介绍了亲自教你TypeScript 项目搭建过程,我记得前一天,我们配置过一份 webpack 配置,直接复制过来使用,这里就不多说了,然后就是在项目中引入我们的 less,需要的朋友可以参考下
    2022-11-11
  • javascript RadioButtonList获取选中值

    javascript RadioButtonList获取选中值

    js获取RadioButtonList值的代码。
    2009-04-04
  • 详解如何在微信小程序中愉快地使用sass

    详解如何在微信小程序中愉快地使用sass

    这篇文章主要介绍了详解如何在微信小程序中愉快地使用sass,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2018-07-07
  • JavaScript基于ChatGPT实现打字机消息回复

    JavaScript基于ChatGPT实现打字机消息回复

    ChatGPT 是一个基于深度学习的大型语言模型,处理自然语言需要大量的计算资源和时间,响应速度肯定比普通的读数据库要慢的多,本文介绍了ChatGPT打字机消息回复实现原理,感兴趣的同学可以跟着小编一起学习
    2023-05-05

最新评论