很多人以为JavaScript是基于Java语言的编程语言,其实Java与JavaScript完全是由两个不同的公司开发的两个不同的产品。
Java是SUN公司推出的新一代面向对象的网络程序设计语言,它的设计思想是最大限度的利用网络,特别适合于Internet应用程序的开发,其前身是Oak语言;
而JavaScript是Netscape公司的产品,其目的是为了扩展Netscape浏览器的功能而开发、集成在Netscape 浏览器当中的、一种可以嵌入Web页面中的、基于对象和事件驱动的解释性语言, 其前身是Live Script。
Java与JavaScript区别可以总结为五点:
(一) 有人说Java是面向对象的,而JavaScript不是,这样说并不准确,两者在对象的处理和应用方面不一样。
Java是一种真正的面向对象的语言,即使是开发非常简单的程序,也必须设计对象。
JavaScript是种脚本语言,它是一种基于对象和事件驱动的编程语言,因而它本身提供了非常丰富的内部对象供程序设计人员使用。
Var obj=new Object();
JavaScript也是支持对象的
(二) 不过两者定义变量形式不同。
Java采用强类型变量检查,像C语言一样。所有变量在编译之前必须声明,而且不能使用没有赋值的变量。例如:
int x; x=1234; char y='F';
其中X=1234说明是一个整数,Y='F'说明是一个字符。
JavaScript变量在使用前不须作声明,采用弱类型变量检查,而且是解释器在运行时检查其数据类型。例如:
var x=1; x='abcdefg'; x=new Object() ;
(三) JavaScript是运行在浏览器上,而Java运行在JVM上,两者都可以应用于网页,但两者执行方式不一样。
Java的源代码在传递到客户端执行之前,必须经过编译,形成独立的字节代码,然后通过客户端相应平台上的仿真器或解释器执行,它可以通过编译器或解释器实现独立于某个特定的平台编译代码的束缚。
JavaScript是一种解释性编程语言,其源代码在发往客户端执行之前不须经过编译,而是把文本格式的字符代码发送给客户端,由客户端的浏览器解释执行。
所以当我们用Eclipse这种集成开发环境时,编写Java代码,如果代码有语法错误,Eclipse会报错,但是编写JavaScript时却不会,因为Jav代码只要保存Eclipse就会编译,代码也必须编译过后才能运行,所以编译能通过的必定是能运行的。
但JavaScript却不会,因为JavaScript不需经过编译,只有在解释执行时才知道代码是否正确
(四) 作为程序员,这一点是最容易体会到得,两者代码格式不一样。
Java是一种与HTML无关的独立格式;HTML中引用Java程序必须像引用外媒体那样进行装载,其代码以字节代码的形式保存在独立的文档中。
JavaScript的代码是与HTML文档紧密相连的,直接嵌入HTML文档中,是一种文本字符格式,并且可以动态装载。
(五) 嵌入浏览器的方式不同。
当这两种语言嵌入HTML文档中时,它们的标识不同。JavaScript使用<javascript></javascript>来标识,而Java使用<% %>来标识,并且只能嵌入JSP中。
总之,这两种语言在网络上都很有用,但我们要分清楚它们的不同。一般在一个主页当中有许多JavaScript语言的程序没关系,但是Java语言的程序就应该尽量少一些。因为它会影响主页显示的速度。
Java可以用于编写桌面程序、后台,这是JavaScript不能做的。而JavaScript可以与.net一起应用,能提高程序的运行效率并提供更友好的用户界面。