[置顶] 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 [ ...
随机推荐
- HDU 1484 Basic wall maze (dfs + 记忆)
Basic wall maze Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others) ...
- JVM相关知识(1)
1.JVM内存管理的机制 内存空间划分为:Sun JDK在实现时遵照JVM规范,将内存空间划分为堆.JVM方法栈.方法区.本地方法栈.PC寄存器. 堆: 堆用于存储对象实例及数组值,可以认为Java中 ...
- Hibernat之关系的处理一对一处理
第一步:编写两个pojo,比如一个学生表一个班级表 这里使用注解. 需要 公司表: package com.qcf.pox; import javax.persistence.CascadeType ...
- MyEclipse 设置全部jsp的编码为UFT-8 的方法
- BZOJ 1208 HNOI2004 宠物收容所 平衡树/set
标题效果:有一个宠物收容所.目前还没有被采纳的宠物或谁想要领养宠物,每个宠物有个性值,大家谁想要领养宠物具有理想人格值.每一刻,宠物收容所只是为了有谁想要领养宠物或宠物的人. 当领走宠物,将有一定程度 ...
- lua本学习笔记功能
Lua本学习笔记功能 1. 函数返回 指定任务的主要功能是完成,在这种情况下,函数被用作调用语句.函数可以计算并返回值,在这种情况下,作为分配值表达式语句使用. 语法: funcationfunc_ ...
- oracle获取字符串长度函数length()和hengthb()
原文:oracle获取字符串长度函数length()和hengthb() lengthb(string)计算string所占的字节长度:返回字符串的长度,单位是字节 length(string)计算s ...
- Oracle 11g sys,system 密码忘记设置解决办法
原文:Oracle 11g sys,system 密码忘记设置解决办法 1.启动sqlplus 2.请输入用户名: sqlplus/as sysdba 3.输入口令: 直接回车 4.连接到: Ora ...
- 新手可以学习cocos2dx 3.0 组态(两)
这主要是关于cocos3.0 组态,鉴于互联网已经有很多这样的文章.所以我简单谈一下: 1.python2.7 因为cocos目新建是用python脚本做的,至于为什么不用python3.x 那么请 ...
- HDU 2079-课程时间(生成函数)
课程时间(标题已被修改,注意阅读题) Time Limit: 1000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Other ...