JavaScript是Java的变种吗?

44 篇文章 7 订阅
16 篇文章 0 订阅

JavaScript是Java的变种吗?

不是!

程序员和用户经常在JavaScript和Java之间会产生疑问,认为JavaScript是Java中的一类,因为JavaScript出现的时间比较晚,错误的认为Java和JavaScript相同。今天,从各个方面系统的介绍JavaScript与Java的不同。相信阅读完此文章,你的知识层面会更上一楼!


追根溯源

JavaScript最初的确是受Java启发而产生而设计的,而且设计的目的之一就是“看上去像Java”,它与Java名称上的近似是当时网景为了营销考虑与Sun公司达成协议的结果,(小编个人认为有可能是Java太出名了,你们认为呢?欢迎留言评论),因此语法有许多类似的地方,许多名称和命名规范也是借鉴的Java。但是,JavaScript的主要设计源自Self和Scheme,与Java的本质不同。从本质来讲JavaScript更像一门函数式编程语言,而非面向对象的语言(Java的本质),它使用一些智能的语法和语义来仿真高度复杂的行为,其对象模型灵活、开发和强大,具有很强·的·反射性。


各抒己见

(1)JavaScript与Java是由不同的公司开发的不同产品。JavaScript是Netscape公司的产品,其目的是为了扩展Netscape Navigator功能,而开发的一种可以嵌入Web页面中的基于对象和事件驱动的解释性语言;而Java是SUN Microsystems公司推出的新一代面向对象的程序设计语言,特别适合于Internet应用程序开发。实际上,JavaScript最初的名字并不是JavaScript,而是LiveScript,名字中的“Java”是经过SUN Microsystems公司授权的。

(2)JavaScript是基于对象的,它是一种脚本语言,是一种基于对象和事件驱动的编程语言,因而它本身提供了非常丰富的内部对象供设计人员使用。而Java是面向对象的,即Java是一种真正的面向对象的语言,即使是开发简单的程序也必须设计对象。  

(3)JavaScript与Java嵌入方式不一样。在HTML文档中,两种编程语言的标识不同,JavaScript使用<script></script>来标识,而Java使用Applet来标识。  

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

 

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

(6)JavaScript与Java所采取的变量是不一样的。JavaScript中的变量声明采用弱类型,即变量在使用前不需作声明,而是解释器在运行时检查其数据类型。Java采用强类型变量检查,即所有变量在编译之前必须作声明。  

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

(8)JavaScript不直接对文本和图形进行操作,它在Web页面中与HTML元素组合一起发挥作用,但它可以控制浏览器,让浏览器直接对文本和图形进行处理。而Java则可以直接对文本和图形进行操作。


JavaScript其实是一门脚本语言与Java这种纯编程语言还是有极大的不同。如果你感觉此文对你有所帮助的话,点赞+分享,欢迎留言!

 

评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

初尘屿风

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值