最近完成了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面向对象?的更多相关文章

  1. JavaScript - 基于原型的面向对象

    JavaScript - 基于原型的面向对象 1. 引言 JavaScript 是一种基于原型的面向对象语言,而不是基于类的!!! 基于类的面向对象语言,比如 Java,是构建在两个不同实体的概念之上 ...

  2. Javascript基于对象三大特征 -- 冒充对象

    Javascript基于对象三大特征 基本概述 JavaScript基于对象的三大特征和C++,Java面向对象的三大特征一样,都是封装(encapsulation).继承(inheritance ) ...

  3. JavaScript基于对象编程

    js面向对象特征介绍 javascript是一种面向(基于)对象的动态脚本语言,是一种基于对象(Object)和事件驱动(EventDirven)并具有安全性能的脚本语言.它具有面向对象语言所特有的各 ...

  4. JS是面向过程、面向对象还是基于对象?面向对象的代码体现

    一.问题 javascript是面向对象的,还是面向过程的?基于对象是什么意思? 对象: 指的是对某一类事物进行抽象,抽象出这一类事物共同的特征以及行为(也就是属性和方法),那些拥有这一共同属性和方法 ...

  5. javascript: 基于原型的面向对象编程

    Douglas Crockford指出javascript是世界上最被误解的编程语言.由于javascript缺少常见的面向对象概念,许多程序猿认为javascript不是一个合适的语言.我在做第一个 ...

  6. JavaScript基于对象(面向对象)<一>类和对象

    javascript中一切皆对象,比如:Array,Date.....这些都是对象.javascript中没有class的定义,function既是定义函数,也可以是定义类.function Obj( ...

  7. java实现面向对象和javaScript基于对象的区别&java垃圾回收机制和其他编程语言的比较

    java javaScript javaGC和C语言内存分配和内存释放

  8. javascript基于原型实现面向对象

    传统的OO语言有类的概念,但js(ES5)却是基于原型实现的面向对象. 原型是?我们创建的每一个函数都会有一个原型(prototype)属性,这个属性是一个指针,指向函数的原型(prototype)对 ...

  9. [置顶] ruby复制对象的方法(dup 和 clone)

    Ruby内置的方法Object#clone和Object#dup可以用来copy一个对象,两者区别是dup只复制对象的内容,而clone还复制与对象相关联的内容,如singleton method [ ...

随机推荐

  1. UITableView Cell 弹簧动画效果

    - (void)tableView:(UITableView *)tableView willDisplayCell:(UITableViewCell *)cell forRowAtIndexPath ...

  2. CentOs Linux 常见命令

    整理一些常用的命令(持续更新): 查看端口是否开启: netstat -an | grep prot (查看是否打开23端口) |:通道的意思,grep是指查看当前字符所在的行 LINUX通过下面的命 ...

  3. jrtplib的使用

    JRTPLIB库的使用 文档: http://research.edm.uhasselt.be/jori/jrtplib/documentation/index.html 一些介绍: http://d ...

  4. oracle中导入导出数据备份数据库

    原文:oracle中导入导出数据备份数据库 数据库所在位置                         将数据导出到的文件名                    用户名 备份数据库 :exp c ...

  5. C# 在本地创建文件夹及子文件夹

    string dict = @"d:\估价报告\"; if (!Directory.Exists(dict)) { Directory.CreateDirectory(dict); ...

  6. 使用Windows2003创建FTP服务器 - 进阶者系列 - 学习者系列文章

    现在有不少的FTP建设软件,比如Server-U软件.不过本文只介绍使用Windows2003来创建FTP服务器. 1.  打开控制面板的添加删除程序. 2.  打开 添加删除Windows组件 3. ...

  7. VMWare 11安装操作系统 - 初学者系列 - 学习者系列文章

    在2010年的时候,我写过一篇关于VMWare的安装操作系统的博文.但是今天在QQ群里有人问起VMWare安装操作系统的问题,虽然回答了,但是回头看了下当时那篇博文,决定重新写一文. 首先要获取VMW ...

  8. Asp.net Identity 系列之 怎样修改Microsoft.AspNet.Identity.EntityFramework.IdentityUser 的 Id 字段的数据类型

    这篇博客我们来学习如何将AspNetUsers 表的Id 字段 的类型由nvarchar(128) 改为Int 并且子增长 1.为什么要修改 如果你运行过 Asp.net mvc 示例项目,你好会发现 ...

  9. SQLServer 分组查询相邻两条记录的时间差

    原文:SQLServer 分组查询相邻两条记录的时间差 首先,我们通过数据库中表的两条记录来引出问题,如下图 以上为一个记录操作记录的表数据.OrderID为自增长列,后面依次为操作类型,操作时间,操 ...

  10. php表单(2)

    学习php表单 主要是想知道 前端通过submit之后 后端是如何进行操作的.现在实现一个效果:点击submit,输入框的信息不会被刷掉:刷新页面,输入框的信息被刷掉(index.php). < ...