IT培训网

达内论坛

 找回密码
 立即注册
搜索
查看: 1072|回复: 3

经常谈的Java 和 JavaScript 有什么不同之处

[复制链接]

2030

主题

2170

帖子

7475

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
7475
QQ
发表于 2017-9-26 15:05:46 | 显示全部楼层 |阅读模式
  Java 和 JavaScript 不同之处:
  ● 出身不同:
  Javascript 与 Java 是由不同的公司开发的不同产品。Javascript 是 Netscape 公司的脚本语言,而 Java 是 SUN
  Microsystems 公司推出的新一代面向对象的程序设计语言。
  ● 嵌入方式不同:
  在 HTML 文档中,两种编程语言的标识不同,Javascript 使用
  来标识,而 Java 使用 Applet 来标识。
  ● 语言类型不同:
  JavaScript 是动态类型语言,而 Java 是静态类型语言
  ● 所采取的变量不同
  JavaScript 中的变量声明采用弱类型,即变量在使用前不需作声明,而是解释器在运行时检查其数据类型。Java
  采用强类型变量检查,即所有变量在编译之前必须作声明。
  ● 代码格式不同
  Javascript 的代码是一种谋咀址格式,可以直接嵌入 HTML 文档,并且可动态装载,编写 HTML
  文档就像编辑文本文件一样方便,其独立文件的格式为*.js。Java 是一种与 HTML 无关的格式,必须通过像 HTML
  中引用外媒体那么进行装载,其代码以字节代码的形式保存在独立的文档中,其独立文件的格式为 *.class。
  ● Javascript 采用动态联编,即 Javascript 的对象引用在运行时进行检查。Java 采用静态联编,即 Java
  的对象引用必须在编译时的进行,以使编译器能够实现强类型检查。
  ● Javascript 不直接对文本和图形进行操作,它在 Web 页面中与 HTML
  元素组合一起发挥作用,但它可以控制浏览器,让浏览器直接对文本和图形进行处理。而 Java 则可以直接对文本和图形进行操作。
  Java 和 JavaScript 相同之处:
  ● 它们的语法和 C 语言都很相似;
  ● 它们都是面向对象的(虽然实现的方式略有不同);
  ● JavaScript 在设计时参照了 Java 的命名规则;
  总而言之,JavaScript 除了长得和 Java 比较像之外,语言风格相去甚远。JavaScript 在设计时所参考的对象不包括Java,而包括了像 Self 和 Scheme 这样的语言。所以,以后别再犯糊涂啦。
 




上一篇:全面解析迭代器和枚举之间的不同
下一篇:学PHP开发学哪些内容 学习PHP开发需要多久
回复

使用道具 举报

172

主题

515

帖子

1339

积分

超级版主

Rank: 8Rank: 8

积分
1339
QQ
发表于 2019-7-11 15:59:28 | 显示全部楼层
javascript原名livescript,是网景公司(Netscape)在1995年设计出来的最早的脚本语言,原本的网页只有html只能点击和浏览,非常的单调。livescript一出来,凭借着炫酷的效果,流畅的浏览体验,Netscape的浏览器打败了所有同行,瞬间风靡,并特么的赚到了不少的钱。与此同时,微软看到了这块蛋糕,也想来分一杯羹,就去找Netscape合作。结果被Netscape给拒绝了。后来sun公司也来找Netscape合作,Netscape心想:现在java这么火,跟他们合作正好可以跟个风,给自己的名字镀个金,于是就跟sun公司合作并改名为javascript,其实特么一点关系也没。
微软这边,你Netscape不跟我合作,好嘛,劳资特么自己做,然后微软也特么是牛,就出了个Jscript,跟javascript的相似度高达99%。
回复 支持 反对

使用道具 举报

172

主题

515

帖子

1339

积分

超级版主

Rank: 8Rank: 8

积分
1339
QQ
发表于 2019-7-11 15:59:52 | 显示全部楼层
虽然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采用强类型变量,即所有变量在编译之前必须作声明。如

?

1

2

3

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

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

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

?

1

2x=1234;y="4321";

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

(4)代码格式不一样

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

(5)嵌入方式不一样

在HTML文档中,两种编程语言的标识不同,JavaScript使用“





回复 支持 反对

使用道具 举报

172

主题

515

帖子

1339

积分

超级版主

Rank: 8Rank: 8

积分
1339
QQ
发表于 2019-7-11 16:00:20 | 显示全部楼层
Java和Javascript是什么关系呢?它们之间有什么差异?

写这篇文章是因为在知乎上看到有人问这个问题,在想怎么会有这种SB问题,不过想想当初SB的我貌似也搞不清两者的关系,认知还是需要一个过程。根据着名的开源项目分享网站统计,Java和Javascript是世界上最流行的编程语言,其次是Python,PHP,Ruby。不过,尽管它们的名字比较相似,但Java和Javascript基本上是没有什么关系的。

有的人可能会认为Javascript是Java语言的简化版本,实际上并不是。这两种语言的确有一些共同之处,但彼此之间分属不同的领域,两种语言很少有相同的用途。

一、什么是Java语言?

Java语言在诞生之初,曾经叫做“Oak”或者“Green”。1995年5月,Sun公司正式发布了Java语言。之所以叫这个名字,是因为在注册商标是,Oak已经被注册了,于是不得不重新取了一个名字。而Java这个名字是提议者在喝一杯爪洼咖啡时无意中提到的。

当时Sun公司宣称,Java语言作为C / C++语言的继承和进化,在提供类似语法的前提下,同时还引入了更安全的编码环境和更便捷的编码方式。但实际上,Java语言真正吸引人的地方,就是Sun公司提出的“一次编写,到处运行”理念。Java语言编写的程序并不是单独生成可执行文件到不同的目标平台,而是编译成一个JAR文件,以Java虚拟机(JVM)的方式运行在任何Java支持环境下。

JVM读取JAR文件,将其编译成特定平台运行时的指令,然后执行程序。这个过程被恰当地命名为即时编译。目前,Java语言已经发展了20多年,广泛应用于各个领域,比如:

1、安卓应用。Java语言是安卓应用开发的官方语言,尽管也有其它编程语言支持安卓应用的开发,但毫无疑问,使用Java语言开发安卓应用是最方便快捷的。

2、桌面应用。用Java语言创建桌面应用最大的优点就是可以跨平台运行,曾经在Java领域被普遍使用的Swing框架主要用来创建图形用户界面(GUI)。不过如果你是初学者,应该果断跳过Swing框架,而改学JavaFX或SWT框架这样更现代的成熟开发包。

3、企业应用。对于非历史遗留系统,采用Java语言来开发是最好的选择,特别是在银行和金融贸易等领域,Java语言被广泛采用。因为它速度快,部署方便,易于维护,且不易发生低级语言常见的灾难性错误。

4、嵌入式系统。在嵌入式系统领域,原来一直是C语言的天下。但随着硬件技术的发展,目前已经有大量的嵌入式设备开始使用Java语言来开发应用。包括数字手表、工厂控制器、交通信号灯、微控制器、混合动力汽车以及最近的物联网设备等等。

5、科学研究。在数据处理、计算、建模、仿真等领域,开发者一般会使用MATLAB和Python语言,但Java语言是自然语言处理和人工智能等更复杂的任务的最佳选择。

二、什么是Javascript?

Javascript源于HTML的巨大局限性,当网景公司(Netscape)预见到需要一个更动态的Web世界时,他们创建了一种新的语言,可以在HTML中编写。这种语言LiveScript起初叫做LiveScript,在短短的10天就设计完成,并借鉴了一些Java语法。由于当时Java语言非常流行,因此改名为Javascript。但Javascript从诞生之初就与Java语言分道扬镳,主要应用在网页开发领域。它和HTML及CSS一起,并称为Web开发的三大支柱。

与Java语言不同,在运行前需要编译代码,Javascript是解释执行的。当用户访问一个包含Javascript的网站时,浏览器首先会下载完整的Javascript源代码,然后调用Javascript引擎即时解析这些代码。不同的浏览器使用不同的Javascript引擎,比如谷歌浏览器(Chrome)的V8引擎,火狐(Firefox)浏览的蜘蛛猴(SpiderMonkey)引擎和微软最新推出的Edge浏览器所采用的脉轮(Chakra)引擎等等。

不过,随着技术的发展,在过去的十年中,Javascript已经成为世界上最灵活的语言之一,同时也是最受欢迎的编程语言。它不再仅仅是浏览器端的Web语言,还被应用在其他开发领域。目前Javascript的主要应用场合是:

1、Web应用程序。Javascript可用于前端和后端Web开发。前端主要是针对浏览器端的DOM(文档对象模型)操作,例如动画、数据插入、异步更新等等。而后端则负责服务器端逻辑,例如路由、数据处理、数据库交互等等。有些Javascript框架可以同时实现这两种功能,称为全栈Web开发模式。而可以同时进行前后端开发的程序员,则被称为全栈工程师。

2、桌面应用。现在,有些开发框架允许开发者用Javascript语言来编写桌面应用,比如Electron 和 NW.js 这样的开发包都是通过在内部捆绑Javascript引擎来实现的。开发者设计桌面应用时,就像在制作一个Web网站。同时,开发框架还提供了大量了访问接口,供开发者访问硬件和操作系统的相关资源,这些在传统Web应用开发时,通常是Javascript语言所不具备的。

3、手机应用。像React Native 和 PhoneGap这样的开发框架提供了丰富的功能可以让开发者直接用Javascript来编写移动端的应用。这些框架通常采用两种方式来工作,一种是将Javascript代码转换为Java代码(安卓平台)和Swift代码(苹果iOS平台),再编译成手机应用。另一种方式和桌面应用相类似,也是采用了内置Javascript引擎来实现的。

它们的相同之处包括:

它们的语法和 C 语言都很相似;

它们都是面向对象的(虽然实现的方式略有不同);

JavaScript 在设计时参照了 Java 的命名规则;

它们的不同之处包括:      

JavaScript 是动态类型语言,而 Java 是静态类型语言;

JavaScript 是弱类型的,Java 属于强类型;

JavaScript 的面向对象是基于原型的(prototype-based)实现的,Java 是基于类(class-based)的;

Java和JavaScript各有所长各有专精,Java的舞台在编程领域,而JavaScript的得心之处是在Web页面中,它几乎无所不能。
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

IT培训网

QQ|小黑屋|手机版|cnitedu Inc. ( 豫ICP备16023996号-1 )

GMT+8, 2019-8-18 21:28 , Processed in 0.133008 second(s), 14 queries , File On.

Powered by Discuz! X3.3

© 2011-2017 cnitedu Inc.

快速回复 返回顶部 返回列表