【转】JavaScript与Java的区别

原文地址:http://www.qeefee.com/js/difference-between-javascript-and-java

更多Javascript教程,欢迎访问起飞网>>Javascript教程

正文:

关于java和javascript的关系,我曾在一个论坛上看过这样一句话,java和javascript的关系,就好比雷锋和雷峰塔的关系,实在是经典!

因为名字的关系,总是有人误以为Javascript是Java的一个子集,或者必然会存在一些关系。但非常让大家失望,这两种编程语言除了名字开头相同之外,没有其它内在的关系!

什么是Javascript?

我在上一篇Javascript简介中已经介绍了什么是Javascript,它是运行在浏览器中的一种脚本语言,在web页面中,Javascript可谓是无所不能:

  • 可以操作HTML,提供了一种运行时改变HTML的工具
  • 可以附加并执行事件,符合面向事件编程的思想
  • 数据验证功能,在提交表单时对表单数据进行合法性验证
  • 对客户浏览器的操作,前进、后退、刷新、跳转、打开新窗口、打印等
  • 可以创建并使用Cookies
什么是Java呢?

Java是Sun公司推出的一种编程语言。它是一种通过解释方式来执行的语言,语法规则和C++类似。同时,Java也是一种跨平台的程序设计语言。用Java语言编写的程序叫做“Applet”(小应用程序),用编译器将它编译成类文件后,将它存在WWW页面中,并在HTML档上作好相应标记,用户端只要装上Java的客户软件就可以在网上直接运行“Applet”。

Java非常适合于企业网络和Internet环境,现在已成为Internet中最受欢迎、最有影响的编程语言之一。 Java有许多值得称道的优点,如简单、面向对象、分布式、解释性、可靠、安全、结构中立性、可移植性、高性能、多线程、动态性等。Java摈弃了C++中各种弊大于利的功能和许多很少用到的功能。 Jave可以运行与任何微处理器,用Java开发的程序可以在网络上传输,并运行于任何客户机上。

Javascript名字的由来

JavaScript最早是被称为Mocha(魔卡)的,这是这个项目的代码名。这个名字一直用到Netscape2.0 beta 2发布之前(95.11.04)——包括在beta 1中弹出的错误框上,还可以看到Mocha的名字。不过,早在此前的9月18号,netscape就已经发布消息将在LiveWire中启用一种服务器端脚本(未提及名称)。又因为我们前面提到的“前后端通用脚本”的设计,该语言在beta 2发布时就使用了内部名称LiveScript。

但同样混乱的事情是,事实上这时Netscape已经决定将该语言命名为“JavaScript”。因此在beta 2的发布备忘中该语言称为JavaScript,而界面上却从Mocha改为了LiveScript。这一局面一直持续到12月4日,netscape与sun共同发布声明,正式启用了JavaScript这个名字。随后beta 4发布(95.12.20),界面和文档上就统一了。

所以事实上“LiveScript”这个名字可以考证的生命周期,也就只有一个月的时间(在95.11.04- 12.04)。但Mocha毕竟只是项目代码名,而非产品名,所以后来人们追溯JavaScript的历史,大多只提到LiveScript为止。

Javascript和Java的区别

一、javascript与Java是由不同的公司开发的不同产品。javascript是Netscape公司的产品,其目的是为了扩展Netscape Navigator功能,而开发的一种可以嵌入Web页面中的基于对象和事件驱动的解释性语言;而Java是SUN Microsystems公司推出的新一代面向对象的程序设计语言,特别适合于Internet应用程序开发。实际上,javascript最初的名字并不是javascript,而是LiveScript,名字中的“Java”是经过SUN Microsystems公司授权的。

二、javascript是基于对象的,它是一种脚本语言,是一种基于对象和事件驱动的编程语言,因而它本身提供了非常丰富的内部对象供设计人员使用。而Java是面向对象的,即Java是一种真正的面向对象的语言,即使是开发简单的程序也必须设计对象。  

三、javascript与Java嵌入方式不一样。在HTML文档中,两种编程语言的标识不同,javascript使用<script></script>来标识,而Java使用Applet来标识。  

四、javascript与Java在浏览器中所执行的方式不一样。javascript是一种解释性编程语言,其源代码在发往客户端执行之前不需经过编译,而是将文本格式的字符代码发送给客户,即javascript语句本身随Web页面一起下载下来,由浏览器解释执行。而Java的源代码在传递到客户端执行之前,必须经过编译,因而客户端上必须具有相应平台上的仿真器或解释器,它可以通过编译器或解释器实现独立于某个特定的平台编译代码。  

五、javascript与Java代码格式不一样。javascript的代码是一种谋咀址格式,可以直接嵌入HTML文档中,并且可动态装载,编写HTML文档就像编辑文本文件一样方便,其独立文件的格式为*.js。Java是一种与HTML无关的格式,必须通过像HTML中引用外媒体那么进行装载,其代码以字节代码的形式保存在独立的文档中,其独立文件的格式为*.class。  

六、javascript与Java所采取的变量是不一样的。javascript中的变量声明采用弱类型,即变量在使用前不需作声明,而是解释器在运行时检查其数据类型。Java采用强类型变量检查,即所有变量在编译之前必须作声明。  

七、javascript采用动态联编,即javascript的对象引用在运行时进行检查。Java采用静态联编,即Java的对象引用必须在编译时的进行,以使编译器能够实现强类型检查。  

八、javascript不直接对文本和图形进行操作,它在Web页面中与HTML元素组合一起发挥作用,但它可以控制浏览器,让浏览器直接对文本和图形进行处理。而Java则可以直接对文本和图形进行操作。

如果认为此文对您有帮助,别忘了支持一下哦!

作者:齐飞

来源:http://youring2.cnblogs.com/

声明:本博客原创文字只代表本人工作中在某一时间内总结的观点或结论,与本人所在单位没有直接利益关系。非商业,未授权,贴子请以现状保留,转载时必须保留此段声明,且在文章页面明显位置给出原文连接。

转载:http://www.cnblogs.com/youring2/archive/2013/06/06/3120645.html

时间: 2024-08-31 20:21:36

【转】JavaScript与Java的区别的相关文章

JavaScript 和 Java 的区别浅析

虽然JavaScript与Java有紧密的联系,但却是两个公司开发的不同的产品.Java是SUN公司推出的 新一代面向对象的程序设计语言,特别适合于Internet应用程序开发:而JavaScript是Netscape公司的产品,其目的是为了扩展 Netscape Navigator功能,而开发的一种可以嵌入Web页面中的基于对象和事件驱动的解释性语言, 它的前身是Live Script:而Java的前身是Oak语言.   下面对两种语言间的异同作如下比较:1.基于对象和面向对象Java是一种真

JavaScript 和 Java 的区别浅析_基础知识

下面对两种语言间的异同作如下比较:1.基于对象和面向对象Java是一种真正的面向对象的语言,即使是开发简单的程序,必须设计对象.JavaScript是种脚本语言,它可以用来制作与网络无关的,与用户交互作用的复杂软件.它是一种基于对象(Object Based)和事件驱动(Event Driver)的编程语言.因而它本身提供了非常丰富的内部对象供设计人员使用.2.解释和编译两种语言在其浏览器中所执行的方式不一样.Java的源代码在传递到客户端执行之前,必须经过编译,因而客户端上必须具有相应平台上的

网页设计中JS与Java的区别

js|区别|设计|网页|网页设计 在各种网页制作技术论坛中,常常有人询问javascript与Java有什么区别,甚至有人误认为javascript就是Java.javascript与Java确实有一定的联系,但它们并不像我们想象的那样联系紧密,甚至可以肯定地说它们有很大的区别. 什么是JavaScript ? JavaScript 是对 ECMA 262 语言规范的一种实现.本教程的目的就是引导您学习使用 JavaScript ,所有例子都在 Internet Explorer 5 下通过,本

JavaScript实现Java中Map容器的方法_javascript技巧

本文实例讲述了JavaScript实现Java中Map容器的方法.分享给大家供大家参考,具体如下: 声明一下,JavaScript和Java的区别就像雷锋和雷峰塔的区别. 在Java中,Map是一种集合,用来存储Key-Value键值对的容器.根据键得到值,因此不允许键重复(重复了的覆盖),但允许值重复.JavaScript中的对象特性,就是不允许有相同的属性存在,和Java的Map非常的相似,所以可以利用这个特性在JavaScript中来实现Map容器,实现基本的增删查的操作. functio

类比C#、JavaScript和Java的集合数据处理

Java 丢了好多年,最近在拣起来,首先当然是了解这么多年来它的变化,于是发现了 Java 8 的java.util.stream.在学习和试验的过程中,相比较于 C# 和 javascript,有那么些心得,作文以记之. 早些时间写过一篇<ES6 的 for..of 和 Generator,从伪数组 jQuery 对象说起>,和这个主题有点关系.其实我记得还有一篇讲 C# 的,没找到,也许只是想过,没写成,成了虚假记忆. 前言 之所以把 C#.JavaScript 和 Java 三种语言的实

c++-java前端和java后端区别

问题描述 java前端和java后端区别 虽说有c++基础,但是对Java不甚了解.小虾再次请教各位大神,Java前端跟后端的区别在哪里?还有若同是架构,Java和c++区别在哪呢? 跪求大神们回答简单明了些哈,小妹很笨的(*^__^*) 嘻嘻-- 解决方案 至于区别: 底层的应用采取C++开发比较适合,例如:一些驱动,图像处理, 3d游戏之类的. java的话,比如web应用,还有目前比较火的android 手机 pad 应用等, 相对来说 java比较简单一些. 优缺点的话: c++写的程序

JavaScript实现Java的Map、List功能

JavaScript实现Java的Map.List功能,如下代码: function HashMap(){      this.size=0;      this.map=new Object();  }    HashMap.prototype.put=function(key,value){      if(!this.map[key]){          this.size++;      }      this.map[key]=value;  };  HashMap.prototyp

初学认识:JavaScript和Java是两个完全不同的语言

javascript|初学 JavaScript 是一种描述性语言,它可以被嵌入 HTML 的文件之中.通过 JavaScript 可以做到响应用户的需求事件(如表单的输入),这样当一位使用者输入一项信息时,它不需要通过网络传送到服务器端进行处理再传回来的过程,而可以直接在客户端进行事件的处理.你也可以想像成有一个可执行程序在你的客户端上执行一样(但这种执行程序是有限的,它对客户端电脑的控制力很差)! JavaScript 和 Java 很相似,但它们却是完全不同的语言! Java 是由 Sun

Javascript和Java获取各种form表单信息的简单实例

 本篇文章主要是对Javascript和Java获取各种form表单信息的简单实例进行了介绍,需要的朋友可以过来参考下,希望对大家有所帮助 大家都知道我们在提交form的时候用了多种input表单.可是不是每一种input表单都是很简单的用Document.getElementById的方式就可以获取到的.有一些组合的form类似于checkbox或者radio或者select我们如何用javascript获取和在服务器中获取提交过来的参数呢?多说无用.上代码:   Jsp-html代码: