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


Posted in Javascript onNovember 21, 2013

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();

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

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

Javascript 相关文章推荐
jquery取子节点及当前节点属性值的方法
Sep 09 Javascript
简单的JS轮播图代码
Jul 18 Javascript
EasyUI的doCellTip实现鼠标放到单元格上提示单元格内容
Aug 24 Javascript
JS实现仿PS的调色板效果完整实例
Dec 21 Javascript
基本DOM节点操作
Jan 17 Javascript
使用vue与jquery实时监听用户输入状态的操作代码
Sep 19 jQuery
vue watch关于对象内的属性监听
Apr 22 Javascript
详解iview的checkbox多选框全选时校验问题
Jun 10 Javascript
在layui中使用form表单监听ajax异步验证注册的实例
Sep 03 Javascript
微信小程序tab切换可滑动切换导航栏跟随滚动实现代码
Sep 04 Javascript
利用Vue的v-for和v-bind实现列表颜色切换
Jul 17 Javascript
vue离开当前页面触发的函数代码
Sep 01 Javascript
JS中把字符转成ASCII值的函数示例代码
Nov 21 #Javascript
Javascript对象属性方法汇总
Nov 21 #Javascript
获得Javascript对象属性个数的示例代码
Nov 21 #Javascript
XMLHttpRequest处理xml格式的返回数据(示例代码)
Nov 21 #Javascript
浅析JavaScript中的常用算法与函数
Nov 21 #Javascript
非常漂亮的JS+CSS图片幻灯切换特效
Nov 20 #Javascript
浅谈checkbox的一些操作(实战经验)
Nov 20 #Javascript
You might like
php strstr查找字符串中是否包含某些字符的查找函数
2010/06/03 PHP
浅析PHP中Collection 类的设计
2013/06/21 PHP
php防止CC攻击代码 php防止网页频繁刷新
2015/12/21 PHP
CI框架AR操作(数组形式)实现插入多条sql数据的方法
2016/05/18 PHP
php+jQuery递归调用POST循环请求示例
2016/10/14 PHP
PHP实现的文件浏览器功能简单示例
2019/09/12 PHP
基于JQuery的Select选择框的华丽变身
2011/08/23 Javascript
让复选框只能选择一项的方法
2013/10/08 Javascript
Jquery判断form表单数据是否变化
2016/03/30 Javascript
js提示框替代系统alert,自动关闭alert对话框的实现方法
2016/11/07 Javascript
详解Angular2组件之间如何通信
2017/06/22 Javascript
JavaScript之iterable_动力节点Java学院整理
2017/06/29 Javascript
使用Ajax和Jquery配合数据库实现下拉框的二级联动的示例
2018/01/25 jQuery
vue中element 上传功能的实现思路
2018/07/06 Javascript
优雅的在React项目中使用Redux的方法
2018/11/10 Javascript
微信小程序提取公用函数到util.js及使用方法示例
2019/01/10 Javascript
vue动态禁用控件绑定disable的例子
2019/10/28 Javascript
如何实现js拖拽效果及原理解析
2020/05/08 Javascript
手机浏览器唤起微信分享(JS)
2020/10/11 Javascript
JavaScript中的几种继承方法示例
2020/12/06 Javascript
python抓取百度首页的方法
2015/05/19 Python
在Django框架中编写Context处理器的方法
2015/07/20 Python
Python自动化测试Eclipse+Pydev 搭建开发环境
2016/08/15 Python
python负载均衡的简单实现方法
2018/02/04 Python
python自动发邮件库yagmail的示例代码
2018/02/23 Python
python判断单向链表是否包括环,若包含则计算环入口的节点实例分析
2019/10/23 Python
纯CSS和jQuery实现的在页面顶部显示的进度条效果2例(仿手机浏览器进度条效果)
2014/04/16 HTML / CSS
HTML5探秘:用requestAnimationFrame优化Web动画
2018/06/03 HTML / CSS
使用canvas压缩图片大小的方法示例
2019/08/02 HTML / CSS
升职自荐信范文
2013/10/05 职场文书
公司人力资源的自我评价
2014/01/02 职场文书
环保标语口号
2014/06/13 职场文书
房屋租赁委托书范本
2014/10/04 职场文书
《爱的教育》读书心得
2014/11/08 职场文书
关于拾金不昧的感谢信(五篇)
2019/10/18 职场文书
Android开发手册TextInputLayout样式使用示例
2022/06/10 Java/Android