[置顶] javascript-基于对象or面向对象?
最近完成了javascript的初级学习,在这个学习的视频中,我特别注意了两个词,解释性语言和对象,javascript按照我的理解,应该是种解释性语言,他有关于面向对象的思想的体现,但是,他和vb一样吗?是基于对象的吗?
带着诸多的疑问,去查阅网络,我们先得到了一个基本的宏观认识:
javascript网上介绍:
百度百科:
JavaScript是一种基于对象和事件驱动并具有相对安全性的客户端脚本语言。同时也是一种广泛用于客户端Web开发的脚本语言,常用来给HTML网页添加动态功能,比如响应用户的各种操作。
维基百科:
JavaScript的基本特点如下:
是一种解释性脚本语言(代码不进行预编译)。
主要用来向 HTML 页面添加交互行为。
可以直接嵌入 HTML 页面,但写成单独的js文件有利于结构和行为的分离。
JavaScript常用来完成以下任务:
嵌入动态文本于HTML页面
对浏览器事件作出响应
读写HTML元素
在数据被提交到服务器之前验证数据
检测访客的浏览器信息
控制cookies,包括创建和修改等
javascript自我理解(图):
基于视频,我画了一张总结图,和网络上的介绍做个印证:
深入了解下vb和他的区别,vb里是没有继承的,多态和抽象却可以做到,但是在这里,javascript做到了继承,抽象,但是多态没有考虑,我们应该考虑,为什么vb没有继承?
在网上搜索无果,我们就大胆猜想一下,细看面向对象程序设计的历史和vb的开发历史我们不难发现,vb的开发是和面向对象程序设计思想的同步结果,在当初那个大家对面向对象刚刚启蒙的年代,vb的发展正好是面向对象的一个完美的诠释,直到后来的vb.net,我们从vb的发展,看一个事物的发展就可以总结点规律!
发展规律总结:
一个事物或者思想的发展,最初的状态时大家都在探索,这时候百家争鸣,各家有各家的产品,各家有各家的说法,和我们的学习初期一样,我们在面对一个新的知识的时候,什么样的思想和认识都是正常的。
发展到一段时间之后,这时候就会有几个好的产品迅速地扩展市场,这时候的市场还不稳定,拿操作系统说有可能今天是IBM的天下,明天乔帮主就独领风骚,但是在微软的大军下又重新洗牌!
当这件事务逐步发展成熟,这时候,会出现两个情况,一个情况是,有人在制定游戏规则,比如我们熟悉的W3C(World Wide Web Consortium,万维网联盟),WWW(hypertext transport protocol 超文本传送协议)等等机构的出现,第二个情况是,市场稳定,产品成熟,例如我们所熟悉的windows操作系统。
这时,事物的发展到了一个起伏较小的瓶颈区,之所以称之为瓶颈,就是他没有办法做出比他自己更好的产品,直到有个人,做出了出色的产品,他冒着风险收购或者被逐步蚕食市场,这时候对市场的反应速度决定了这场战争的胜利,最鲜明的例子就是我们亲身经历的诺基亚塞班之痛,墨守成规的塞班与变换万千的安卓是给我们上了堂市场的课!
通过这个阶段的学习,对比,我总结为米老师的一句话“变是永远不变的”,市场是日新月异,知识是在爆炸式增长,即学式的方法很适应以后的市场及我们未来的发展!
附:vb发展史:
1991年4月,Visual Basic 1.0 Windows版本发布
1992年9月,Visual Basic 1.0 DOS版本发布。
1992年11月,VB2.0发布。它对于上一个版本的界面和速度都有所改善。
1993年夏天,VB3.0发布,分为标准版和专业版。其中包含一个数据引擎,可以直接读取Access数据库。 1995年8月,VB4.0发布了32位版本和16位的版本。其中包含了对类的支持。
1997年2月,VB5.0发布。程序员可以用32位的版本导入由4.0版本创建的16位程序,并且能顺利编译。同时还包含了对用户自建控件的支持。 更令人惊喜的是,从这个版本开始,Visual Basic 可以支持中文了,这大大方便了国内的VB爱好者。
1998年夏天,VB6.0发布。
2001年,Visual Basic.net和.NET Framework发布。由于其使用了新的核心和特性,所以很多VB的程序员都要改写程序。 2003年,Visual Basic.net 2003和.NET Framework 1.1发布。
2004年,微软开放了Visual Studio 2005的测试版本(代号Whidbey)。包含了.NET Framework2.0的测试版本。
2005年,微软宣布将不会再对非.NET版本的VB进行支持。VB社群立即作出反应表示关心这个消息,一些老用户还递交了希望能够继续对VB进行技术支持的请愿书。微软目前还不愿意改变他们的决定。
2007年底,微软推出了Visual Studio 2008 Beta 2 (v9),在代码输入上可比VB2005快很多,在非特殊的情况下,VB2008会自动开启、自动完成关键字,而且支持最新的.NET Framework 3.5 Beta 2。
2010 年4月12日,微软推出了Visual Studio 2010,其中的新功能和增强功能可帮助您发挥创造力。使用多监视器支持功能自定义您的工作区。创建丰富的 S,harePoint 和 Web 应用程序。使用 IntelliTrace 消除了可怕的“无法重现”问题。通过精确的多目标定位功能开发各种版本的 .NET Framework 程序
附:面向对象的发展史:
面向对象程序设计的雏形,早在1960年的Simula语言中即可发现,当时的程序设计领域正面临着一种危机:在软硬件环境逐渐复杂的情况下,软件如何得到良好的维护?面向对象程序设计在某种程度上通过强调可重复性解决了这一问题。20世纪70年代的Smalltalk语言在面向对象方面堪称经典——以至于30年后的今天依然将这一语言视为面向对象语言的基础。
[置顶] javascript-基于对象or面向对象?的更多相关文章
- JavaScript - 基于原型的面向对象
JavaScript - 基于原型的面向对象 1. 引言 JavaScript 是一种基于原型的面向对象语言,而不是基于类的!!! 基于类的面向对象语言,比如 Java,是构建在两个不同实体的概念之上 ...
- Javascript基于对象三大特征 -- 冒充对象
Javascript基于对象三大特征 基本概述 JavaScript基于对象的三大特征和C++,Java面向对象的三大特征一样,都是封装(encapsulation).继承(inheritance ) ...
- JavaScript基于对象编程
js面向对象特征介绍 javascript是一种面向(基于)对象的动态脚本语言,是一种基于对象(Object)和事件驱动(EventDirven)并具有安全性能的脚本语言.它具有面向对象语言所特有的各 ...
- JS是面向过程、面向对象还是基于对象?面向对象的代码体现
一.问题 javascript是面向对象的,还是面向过程的?基于对象是什么意思? 对象: 指的是对某一类事物进行抽象,抽象出这一类事物共同的特征以及行为(也就是属性和方法),那些拥有这一共同属性和方法 ...
- javascript: 基于原型的面向对象编程
Douglas Crockford指出javascript是世界上最被误解的编程语言.由于javascript缺少常见的面向对象概念,许多程序猿认为javascript不是一个合适的语言.我在做第一个 ...
- JavaScript基于对象(面向对象)<一>类和对象
javascript中一切皆对象,比如:Array,Date.....这些都是对象.javascript中没有class的定义,function既是定义函数,也可以是定义类.function Obj( ...
- java实现面向对象和javaScript基于对象的区别&java垃圾回收机制和其他编程语言的比较
java javaScript javaGC和C语言内存分配和内存释放
- javascript基于原型实现面向对象
传统的OO语言有类的概念,但js(ES5)却是基于原型实现的面向对象. 原型是?我们创建的每一个函数都会有一个原型(prototype)属性,这个属性是一个指针,指向函数的原型(prototype)对 ...
- [置顶] ruby复制对象的方法(dup 和 clone)
Ruby内置的方法Object#clone和Object#dup可以用来copy一个对象,两者区别是dup只复制对象的内容,而clone还复制与对象相关联的内容,如singleton method [ ...
随机推荐
- FlexiGrid使用手册
FlexiGrid使用手册 一.概览 Flexigrid是一个基于jQuery开发的Grid,与 Ext Gird类似.Flexigrid显示的数据能够通过Ajax获取或者从一个普通的表格转换. 它的 ...
- 增加 Java 有几个好习惯表现
以下是一些参考网络资源中的摘要Java编程在一些地方尽可能做. 1. 尝试使用单个例如在合适的场合 使用单例可以减轻负荷的负担,缩短加载时间.提高装载效率,但并不是所有的地方都适合一个案例.简单的说, ...
- openwrt固件支持3G和4G上网卡
http://wiki.openwrt.org/doc/howtobuild/wireless-router-with-a-3g-dongle Building image with support ...
- 负载均衡DNS和反向代理优缺点
负载均衡 (Load Balancing) 建立在现有网络结构之上,它提供了一种廉价有效透明的方法扩展网络设备和服务器的带宽.增加吞吐量.加强网络数据处理能力.提高网络的灵活性和可用性. 负载均衡(又 ...
- 图文解说PhpStorm 7.0版本新增内置工具
很多PHP开发者,都比较关心PhpStorm 7.0版本的内置工具.今天我们将测试内置的Vagrant工具和SSH远端控制台工具. Vagrant工具集成在PhpStorm 7.0版本中,提高了IDE ...
- 六大利器助Java程序开发事半功倍
实用的开发工具对于Java程序开发者来说,工作起来事半功倍.本文中小编将为大家列举包括开发环境.分析测试.代码保护等实用工具. 开发环境 Sonarqube Sonarqube是一个开源平台,是一款代 ...
- C#快速随机按行读取大型文本文件
原文:C#快速随机按行读取大型文本文件 下面是我实现的一个数据文件随机读取类,可以随机读取大型文本文件的某一行.在我机器上对一个130MB的文本文件,读取第200000的速度从传统做法的400ms提高 ...
- EF codefirst+mvc4+bootstrap+autofac+ddd 系统共享 祝大家新年开心搬砖
博客园的博友新年好,小弟在此给大伙拜了晚年,感谢一直以来的支持. 在过去的一年,从博客园有400多ASP.NET MVC爱好者加入本人的群,本人在此很感激,并勉励大家一起学习奋斗. 希望在新的一年,继 ...
- CRM2011 concurrency问题及解决方案
CRM2011对删除和添加操作会自动做判断,比如A打开纪录x,B也打开纪录x,然后B删除了纪录x,A去更新的话就会有提示.更新的话是后者覆盖前者,比如A打开纪录x,B打开纪录x,然后B把记录x中的字段 ...
- [推荐分享]大量Javascript/JQuery学习教程电子书合集,送给有需要的人
不收藏是你的错^_^. 经证实,均可免费下载. 资源名称 资源大小 15天学会jQuery(完整版).pdf 274.79 KB 21天学通JavaScript(第2版)-顾宁燕扫描版.pdf ...