Javascript和Java语言有什么关系?两种语言间的异同比较

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

(1)基于对象和面向对象

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

(2)解释和编译

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

(3)强变量和弱变量

两种语言所采用的变量是不一样的。Java采用强类型变量,即所有变量在编译之前必须作声明。如

Integer x;
String y;
x=1234;
x=4321;

其中x=1234说明是一个整数,Y=4321说明是一个字符串。

JavaScript中,采用弱类型,即变量在位用前不需作声明,而由解释器在运行时检查其数据类型,如

x=1234;
y="4321";

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

(4)代码格式不一样

Java是一种与HIML无关的格式,必须通过像HTML中引用外媒体那样进行装载,其代码以字节代码的形式保存在独立的文档中。JavaScript的代码是一种文本字符格式,可以直接嵌入HTML文档中,并且可动态装载。编写HTML文档就像编辑文本文件一样方便。

(5)嵌入方式不一样

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

(6)静态联编和动态联编

Java采用静态联编,即Java的对象引用必须在编译时进行,以使编译器能够实现强类型检查。JavaScript采用动态联编,即JavaScript的对象引用在运行时进行检查,如不经编译则无法实现对象引用的检查。

JavaScript是被嵌入在HTML几中的,并成为了HTML文档的一部分。​

以上所述是小编给大家介绍的Javascript和Java语言有什么关系?两种语言间的异同比较,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对我们网站的支持!

(0)

相关推荐

  • js的for in循环和java里foreach循环的区别分析

    本文实例分析了js的for in循环和java里foreach循环的区别.分享给大家供大家参考.具体分析如下: js里的for in循环定义如下: 复制代码 代码如下: for(var variable in obj) { ... } obj可以是一个普通的js对象或者一个数组.如果obj是js对象,那么variable在遍历中得到的是对象的属性的名字,而不是属性对应的值.如果obj是数组,那么variable在遍历中得到的是数组的下标. 遍历对象实验: 复制代码 代码如下: var v = {

  • js substr,substring与java substring和C# substring的区别解析

    js substr(start[,length])表示从start位置开始取length个字符串 js substring(start,end)表示从start,到end之间的字符串,包括start位置的字符但是不包括end位置的字符 java sbustring(start,end)表示从start,到end之间的字符串,包括start位置的字符它包括end位置的字符 c# Substring(start[,length])表示从start位置开始取length个字符串

  • Javascript和Java语言有什么关系?两种语言间的异同比较

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

  • 浅谈C#与Java两种语言的比较

    C#与Java相比较 从整体上来看,c#和java及其相似,甚至超过了c#与c.c++的相似程度,下面是两种语言的比较. 两者都能编译成跨平台,跨语言的代码,而且代码能都在一个手控制的环境中运行. 两者都不需要头文件,所有代码都被限制在某个范围内,并且因为没有头文件,所有消除了类定义的循环依赖. 自动回收垃圾内存,并且取消了指针类型. 所有的类都是派生出来的,并且必须使用New关键字分配内存. 没有全局函数或者全局变量,一切变量和函数都属于类. 数组和字符串都自带长度计算和边界检查. 不能使用整

  • Java多线程中线程的两种创建方式及比较代码示例

    1.线程的概念:线程(thread)是指一个任务从头至尾的执行流,线程提供一个运行任务的机制,对于java而言,一个程序中可以并发的执行多个线程,这些线程可以在多处理器系统上同时运行.当程序作为一个应用程序运行时,java解释器为main()方法启动一个线程. 2.并行与并发: (1)并发:在单处理器系统中,多个线程共享CPU时间,而操作系统负责调度及分配资源给它们. (2)并行:在多处理器系统中,多个处理器可以同时运行多个线程,这些线程在同一时间可以同时运行,而不同于并发,只能多个线程共享CP

  • Java实现最小生成树MST的两种解法

    目录 一.prim算法 二.kruskal算法 一.prim算法 时间复杂度较之kruskal较高 通俗的解释就是: (1)从哪个点开始生成最小生成树都一样,最后的权值都是相同的 (2)从哪个点开始,先标记这个点是访问过的,用visited数组表示所有节点的访问情况 (3)访问节点开始都每个没访问结点的距离选取形成的边的权值最小值 综合以上三点就是我们prim算法写代码实现的重要思路 代码实现: package Prim; import java.util.Arrays; public clas

  • Java 连接Access数据库的两种方式

    java连接MS Access的两种方式: 1.JDBC-ODBC Java连接Access可以使用MS自带的管理工具-->数据源(ODBC)设置建立连接,这样就不需要导入jar.但是,如此一来程序部署的每个机器上都要进行设置不方面.所以现在不会使用啦. 2.JDBC java也可以和连接其他数据库一样连接MS Access,导入数据库相应的jar包,进行连接. 复制代码 代码如下: java Access JDBC jar包:Access_JDBC30.jar 具体连接,参考下面代码: 复制代

  • javascript面向对象之访问对象属性的两种方式分析

    本文实例分析了javascript面向对象之访问对象属性的两种方式.分享给大家供大家参考.具体如下: javascript面向对象的访问对象属性的两种方式.如下代码所示: 复制代码 代码如下: <script language="javascript" type="text/javascript"> function Person(){}; var p1 = new Person(); p1.name="王美人"; document.

  • JavaScript禁止用户多次提交的两种方法

    [当服务器超载时,会出现提交卡顿的现象,但是用户在操作时,会不停重复点击提交,会造成服务器压力更大.所以我们需要进行限制] [1]将提交按钮禁止 <html> <head> <script> //禁止默认行为 因为这里要模拟服务器超载的时候,所以需要先禁止掉submit按钮自动提交的功能 function preventDef(event){ event=event||window.event; if(event.preventDefault){ return even

  • java 中ArrayList迭代的两种实现方法

    java 中ArrayList迭代的两种实现方法 Iterator与for语句的结合来实现,代码很简单,大家参考下. 实现代码: package cn.us; import java.util.ArrayList; import java.util.Iterator; //ArrayList迭代的两种方法 //Iterator与for语句的结合 public class Test1 { public static void main(String[] args) { ArrayList arra

  • java 获取mac地址的两种方法(推荐)

    我在网上找了一下获取mac地址的方法,找了两种比较不太一样的方法. 第一种 public static void main(String[] args) throws Exception { InetAddress ia = InetAddress.getLocalHost(); System.out.println(getMACAddress(ia)); } private static String getMACAddress(InetAddress ia) throws Exception

  • Java之递归求和的两种简单方法(推荐)

    方法一: package com.smbea.demo; public class Student { private int sum = 0; /** * 递归求和 * @param num */ public void sum(int num) { this.sum += num--; if(0 < num){ sum(num); } else { System.out.println("sum = " + sum); } } } 方法二: package com.smbea

随机推荐