最近完成了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. HDU 1484 Basic wall maze (dfs + 记忆)

    Basic wall maze Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others) ...

  2. JVM相关知识(1)

    1.JVM内存管理的机制 内存空间划分为:Sun JDK在实现时遵照JVM规范,将内存空间划分为堆.JVM方法栈.方法区.本地方法栈.PC寄存器. 堆: 堆用于存储对象实例及数组值,可以认为Java中 ...

  3. Hibernat之关系的处理一对一处理

    第一步:编写两个pojo,比如一个学生表一个班级表  这里使用注解. 需要 公司表: package com.qcf.pox; import javax.persistence.CascadeType ...

  4. MyEclipse 设置全部jsp的编码为UFT-8 的方法

  5. BZOJ 1208 HNOI2004 宠物收容所 平衡树/set

    标题效果:有一个宠物收容所.目前还没有被采纳的宠物或谁想要领养宠物,每个宠物有个性值,大家谁想要领养宠物具有理想人格值.每一刻,宠物收容所只是为了有谁想要领养宠物或宠物的人. 当领走宠物,将有一定程度 ...

  6. lua本学习笔记功能

    Lua本学习笔记功能 1.  函数返回 指定任务的主要功能是完成,在这种情况下,函数被用作调用语句.函数可以计算并返回值,在这种情况下,作为分配值表达式语句使用. 语法: funcationfunc_ ...

  7. oracle获取字符串长度函数length()和hengthb()

    原文:oracle获取字符串长度函数length()和hengthb() lengthb(string)计算string所占的字节长度:返回字符串的长度,单位是字节 length(string)计算s ...

  8. Oracle 11g sys,system 密码忘记设置解决办法

    原文:Oracle 11g sys,system 密码忘记设置解决办法 1.启动sqlplus 2.请输入用户名:  sqlplus/as sysdba 3.输入口令: 直接回车 4.连接到: Ora ...

  9. 新手可以学习cocos2dx 3.0 组态(两)

    这主要是关于cocos3.0 组态,鉴于互联网已经有很多这样的文章.所以我简单谈一下: 1.python2.7 因为cocos目新建是用python脚本做的,至于为什么不用python3.x  那么请 ...

  10. HDU 2079-课程时间(生成函数)

    课程时间(标题已被修改,注意阅读题) Time Limit: 1000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Other ...