在各种网页制作技术论坛中,常常有人询问javascript与Java有什么区别,甚至有人误认为JavaScript就是Java。JavaScript与Java确实有一定的联系,但它们并不像我们想象的那样联系紧密,甚至可以肯定地说它们有很大的区别。
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使用……来标识,而Java使用来标识。
四、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则可以直接对文本和图形进行操作。
综上所述,我们可以发现,JavaScript与Java虽然都可以应用于网页设计,但它们的确有太大的区别,根本就是两种语言。
(出处:http://www.sheup.com)