探讨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 实例一(first)
Mar 16 Javascript
禁用页面部分JavaScript不是全部而是部分
Sep 03 Javascript
javascript实现框架高度随内容改变的方法
Jul 23 Javascript
jQuery实现类似老虎机滚动抽奖效果
Aug 06 Javascript
js实现鼠标点击文本框自动选中内容的方法
Aug 20 Javascript
浅谈EasyUi ComBotree树修改 父节点选择的问题
Nov 07 Javascript
ES6新特性五:Set与Map的数据结构实例分析
Apr 21 Javascript
Vue input控件通过value绑定动态属性及修饰符的方法
May 03 Javascript
jQuery+CSS实现的标签页效果示例【测试可用】
Aug 14 jQuery
微信小程序MUI侧滑导航菜单示例(Popup弹出式,左侧不动,右侧滑动)
Jan 23 Javascript
JavaScript实现身份证验证代码实例
Aug 26 Javascript
ES11新增的这9个新特性,你都掌握了吗
Oct 15 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实现paypal整合方法
2010/11/28 PHP
PHP数组交集的优化代码分析
2011/03/06 PHP
yii2.0数据库迁移教程【多个数据库同时同步数据】
2016/10/08 PHP
php实现购物车功能(以大苹果购物网为例)
2017/03/09 PHP
PHP laravel中的多对多关系实例详解
2017/06/07 PHP
PHP日志LOG类定义与用法示例
2018/09/06 PHP
javascript Discuz代码中的msn聊天小功能
2008/05/25 Javascript
IE6,IE7,IE8下使用Javascript记录光标选中范围(已补全)
2011/08/28 Javascript
javascript的字符串按引用复制和传递,按值来比较介绍与应用
2012/12/28 Javascript
jquery利用命名空间移除绑定事件的方法
2015/03/11 Javascript
跟我学习javascript的闭包
2015/11/16 Javascript
JavaScript模拟数组合并concat
2016/03/06 Javascript
Ajax+FormData+javascript实现无刷新表单信息提交
2016/10/24 Javascript
Angular2入门教程之模块和组件详解
2017/05/28 Javascript
JavaScript模拟文件拖选框样式v1.0的实例
2017/08/04 Javascript
随机生成10个不重复的0-100的数字(实例讲解)
2017/08/16 Javascript
Bootstrap实现的表格合并单元格示例
2018/02/06 Javascript
详解如何在vscode里面调试js和node.js的方法步骤
2018/12/24 Javascript
在vue中使用vuex,修改state的值示例
2019/11/08 Javascript
详谈Pandas中iloc和loc以及ix的区别
2018/06/08 Python
python的json中方法及jsonpath模块用法分析
2019/12/06 Python
Django ValuesQuerySet转json方式
2020/03/16 Python
CSS3教程(6):创建网站多列
2009/04/02 HTML / CSS
让IE支持CSS3的不完全兼容方案
2014/09/19 HTML / CSS
世界上最值得信赖的多日游在线市场:TourRadar
2018/07/20 全球购物
25道Java面试题集合
2013/05/21 面试题
自考毕业自我鉴定范文
2013/10/27 职场文书
国际经济贸易专业推荐信
2013/11/06 职场文书
中医专业应届生求职信
2013/11/17 职场文书
大学毕业生个人自荐信范文
2014/01/08 职场文书
机械电子工程专业求职信
2014/06/22 职场文书
贵阳市党的群众路线教育实践活动党(工)委领导班子整改方案
2014/10/26 职场文书
安全教育第一课观后感
2015/06/17 职场文书
毕业生自我鉴定范文
2019/05/13 职场文书
《正面管教》读后有感:和善而坚定的旅程
2019/12/19 职场文书
Python 绘制多因子柱状图
2022/05/11 Python