深入剖析JavaScript和Java的区别

开发 前端
这里向大家描述一下JavaScript和Java的区别,虽然JavaScript与Java有紧密的联系,Java是一种比JavaScript更复杂许多的程式语言,而JavaScript则是相当容易了解的语言。

你对JavaScript和Java的区别是否了解,这里和大家分享一下,JavaScript创作者可以不那么注重程式技巧,所以许多Java的特性在JavaScript中并不支援,同时两者却是两个公司开发的不同的两个产品。

JavaScript和Java的区别

谈到JavaScript人们往往会想起Java了,虽然JavaScript与Java有紧密的联系,Java是一种比JavaScript更复杂许多的程式语言,而JavaScript则是相当容易了解的语言。JavaScript创作者可以不那么注重程式技巧,所以许多Java的特性在JavaScript中并不支援,同时两者却是两个公司开发的不同的两个产品。

Java是SUN公司推出的新一代面向对象的程序设计语言,特别适合于Internet应用程序开发;而JavaScript是Netscape公司的产品,其目的是为了扩展NetscapeNavigator功能,而开发的一种可以嵌入Web页面中的基于对象和事件驱动的解释性语言,它的前身是LiveScript;而Java的前身是Oak语言。下面对两种语言间的异同作如下比较:

1、基于对象和面向对象

  Java是一种真正的面向对象的语言,即使是开发简单的程序,必须设计对。JavaScript是种脚本语言,它可以用来制作与网络无关的,与用户交互作用的复杂软件。它是一种基于对象(ObjectBased)和事件驱动(EventDriver)的编程语言。因而它本身提供了非常丰富的内部对象供设计人员使用。

2、解释和编译

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

3、强变量和弱变量

  两种语言所采取的变量是不一样的。Java采用强类型变量检查,即所有变量在编译之前必须作声明。如:Integerx;Stringy;x=1234;x=4321;

  其中X=1234说明是一个整数,Y=4321说明是一个字符串。JavaScript中变量声明,采用其弱类型。即变量在使用前不需声明,而是解释器在运行时检查其数据类型,如:

  x=1234;

  y="4321";前者说明x为其数值型变量,而后者说明y为字符型变量。

4、代码格式不一样

  Java是一种与HTML无关的格式,必须通过像HTML中引用外媒体那么进行装载,其代码以字节代码的形式保存在独立的文档中。

  JavaScript的代码是一种文本字符格式,可以直接嵌入HTML文档中,并且可动态装载。编写HTML文档就像编辑文本文件一样方便。

5、嵌入方式不一样

  在HTML文档中,两种编程语言的标识不同,JavaScript使用<Script>....</Script>来标识,而Java使用<applet>….</applet>来标识。

6、静态联编和动态联编

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

  JavaScript采用动态联编,即JavaScript的对象引用在运行时进行检查,如不经编译则就无法实现对象引用的检查。
 

【编辑推荐】

  1. Javascript中split函数用法指导手册
  2. 基本JavaScript数据类型解析
  3. JavaScript数组元素删除问题解决方案
  4. JavaScript调试工具解决IE6等多版本共存问题
  5. 解析Javascript中replace()方法使用

 

 

责任编辑:佚名 来源: tech.ddvip.com
相关推荐

2011-06-03 13:48:18

JavaScript重构

2023-05-12 08:11:58

JavaScriptJSON克隆

2010-10-08 12:52:33

Javascriptreplace

2010-10-08 14:19:34

JavaScript split()

2010-08-16 10:25:23

DIVSPAN

2010-08-04 08:42:28

Flex和Flash

2010-07-05 15:26:03

UML九种视图

2010-08-16 11:19:31

DIV

2011-07-11 17:38:42

JAVA

2010-08-03 15:02:45

FlexPHP

2009-09-17 09:20:34

Linq和dLinq区

2010-08-06 15:20:25

Flex Builde

2024-04-29 08:06:19

Redis分布式系统

2010-09-17 15:32:52

JVM工作原理

2010-09-17 10:53:45

Java运行环境

2024-04-29 09:06:46

线程初始化源码

2010-06-03 13:08:51

2009-09-27 17:13:36

Hibernate V

2009-07-06 10:44:45

JSP charset

2010-05-25 12:59:00

Subversion
点赞
收藏

51CTO技术栈公众号