虽然JavaScript与Java有紧密的联系
但却是两个公司开发的不同的产品
Java是SUN公司推出的 新一代面向对象的程序设计语言
特别适合于Internet应用程序开发
而JavaScript是Netscape公司的产品
其目的是为了扩展 Netscape Navigator功能
而开发的一种可以嵌入Web页面中的基于对象和事件驱动的解释性语言
它的前身是Live Script
而Java的前身是Oak语言
下面对两种语言间的异同作如下比较
基于对象和面向对象
Java是一种真正的面向对象的语言即 使是开发简单的程序必须设计对象JavaScript是种脚本语言它可以用来制作与网络无关的与用户交互作用的复杂软件它是一种基于对象 (Object Based)和事件驱动(Event Driver)的编程语言因而它本身提供了非常丰富的内部对象供设计人员使用
解释和编译
两种语言在其浏览器中所执行的方式不一样Java的源代码在传递到客户端执行之前必须经过编译因而客户端上必须具有相应平台上的仿真器或解释器它可以通过编译器或解释器实现独立于某个特定的平台编译代码的束缚
JavaScript是一种解释性编程语言其源代码在发往客户端执行之前不需经过编译而是将文本格式的字符代码发送给客户编由浏览器解释执行
强变量和弱变量
两种语言所采取的变量是不一样的Java采用强类型变量检查即所有变量在编译之前必须作声明如:
复制代码 代码如下:
Integer x;
String y;
x=
;
x=
;
其中X=说明是一个整数Y=说明是一个字符串JavaScript中变量声明采用其弱类型即变量在使用前不需作声明而是解释器在运行时检查其数据类型如
复制代码 代码如下:
x=
;
y="
";
前者说明x为其数值型变量而后者说明y为字符型变量
代码格式不一样
Java是一种与HTML无关的格式必须通过像HTML中引用外媒体那么进行装载其代码以字节代码的形式保存在独立的文档中JavaScript的代码是一种文本字符格式可以直接嵌入HTML文档中并且可动态装载编写HTML文档就像编辑文本文件一样方便
嵌入方式不一样
在HTML文档中两种编程语言的标识不同JavaScript使用来标识而Java使用来标识
静态联编和动态联编
Java采用静态联编即Java的对象引用必须在编译时的进行以使编译器能够实现强类型检查JavaScript采用动态联编即JavaScript的对象引用在运行时进行检查如不经编译则就无法实现对象引用的检查