[置顶] 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 [ ...
随机推荐
- C语言库函数大全及应用实例十三
原文:C语言库函数大全及应用实例十三 [编程资料]C语言库函数大全及应用实例十三 函数名: stat 功 能: 读取打 ...
- svg的自述
svg可缩放矢量图形(Scalable Vector Graphics). SVG 使用 XML 格式定义图像. SVG 是使用 XML 来描述二维图形和绘图程序的语言. 什么是SVG? SVG 指可 ...
- JS模块与命名空间的介绍二
区别一:
- Spring源深和六系列 CreateBean过程
blog宗旨:用图说话. 这一章的图讲述了createBean的过程.到这里spring容器就能够完毕IOC的整个过程,拿到我们须要的对象. 下一章我们接着来看一看AOP完毕的过程. 附:文件夹 Sp ...
- 有趣的游戏:Google XSS Game
Google最近出了一XSS游戏: https://xss-game.appspot.com/ 我这个菜鸟看提示,花了两三个小时才全过了.. 这个游戏的规则是仅仅要在攻击网页上弹出alert窗体就能够 ...
- 读书笔记—CLR via C#章节8-10
前言 这本书这几年零零散散读过两三遍了,作为经典书籍,应该重复读反复读,既然我现在开始写博了,我也准备把以前觉得经典的好书重读细读一遍,并且将笔记整理到博客中,好记性不如烂笔头,同时也在写的过程中也可 ...
- 【转】Android实现推送方式解决方案
本文介绍在Android中实现推送方式的基础知识及相关解决方案.推送功能在手机开发中应用的场景是越来起来了,不说别的,就我们手机上的新闻客户端就时不j时的推送过来新的消息,很方便的阅读最新的新闻信息. ...
- 代码阅读软件kscope源码安装指导
安装 kscope-1.6.2 1. ./configure --without-arts --prefix=/soft/kscope-1.6.2 (I customize the installi ...
- messageBox以及新窗体的使用
DialogResult dr = MessageBox.Show("你确定要点击吗", "安全提示", MessageBoxButtons.YesNo); ...
- C#算两个时间段相差的时间
在数据中经常算两个时间差或者在某个时间段的内容 在数据库中设计表字段类型的时候设计为varchar类型,然后进行可以再Sql语句中书写>=或者<=这样的进行比较就可以查询出某个时间段的内容 ...