首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >请你对比一下 Java 和 JavaScript的区别

请你对比一下 Java 和 JavaScript的区别

作者头像
Tom弹架构
发布于 2023-11-21 09:31:10
发布于 2023-11-21 09:31:10
2990
举报
文章被收录于专栏:Tom弹架构Tom弹架构

一位应届生在面试的时候把所有的八股文都答对了。没成想,有位面试官出了个奇招,面试官问了一句说,请你对比一下Java和JavaScript的区别。我这想这样入门级别的问题,应该每一个后端开发人员都能答得上吧。没成想,有位应届毕业生竟然没有答出来,还说JavaScript是对Java的升级。这样的回答,实在是有点不应该。

今天呢,我给大家总结一下Java和JavaScript的异同之处。

01

不同之处

首先总结两者不同之处,我从以下4个方面来进行分析:

1)产生背景不同

最初 Java 语言是由Sun公司研发,前身叫 Oak 语言,1995年5月正式对外发布并开源,特别 。

而JavaScript是Netscape(网景)公司的产品,最初被名命名为LiveScript。为了扩展Netscape 浏览器的功能而开发的解释性语言。因为Netscape与Sun合作,Netscape(网景)公司管理层希望它外观看起来像Java,因此取名为JavaScript。

2)对象设计不同

Java 是一种真正的面向对象的语言,即使是开发简单的程序,必须设计对象;

而JavaScript 是脚本语言,可以用来开发与网络无关的,与用户交互作用的复杂软件。它是一种基于对象(Object-Based)和事件驱动(Event-Driven)的编程语言,它内置了非常丰富的对象供开发人员使用。

Java 的源代码在执行之前必须经过编译。

而JavaScript 是一种解释性编程语言,源代码不需经过编译,直接由浏览器解释执行。(目前的浏览器几乎都使用了 JIT(即时编译)技术来提升 JavaScript 的运行效率)

4)变量定义不同

 Java 采用强类型变量检查,也就是说,所有的变量在编译之前必须先声明;

而JavaScript 中变量是弱类型的,甚至在使用前变量可以不作声明。JavaScript 的解释器会在运行时自动判断数据类型。

02

相同之处

当然,Java 和 JavaScript 也很多相同之处,我从以下几个方面来分析:

1)Java和JavaScript的语法都和 C 语言都很相似;

2)都是面向对象的。虽然实现的方式略有不同,但是JavaScript 在设计时参照了 Java 的命名规则。

03

总结

JavaScript 除了名字长得和 Java 比较像之外,它语言风格相差非常大。JavaScript 在设计时不仅参考了Java,还参考了 Self 和 Scheme 等其他语言。

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

我上面列出的相同点和不同点都在网上流传的所谓的标准答案。但是,我认为Java 和 JavaScript最重要的区别在于:JavaScript是静态语言,而Java是动态语言。

目前的编程语言的发展趋势是函数式语言和动态语言。在 Java 中,类(Class)是一等公民,而 JavaScript 中,函数(Function)是一等公民,因此 JavaScript 支持函数式编程,可以使用 Lambda函数和闭包(closure)。

当然,Java 8 也开始支持函数式编程,提供了对 Lambda表达式以及函数式接口的支持。对于这类问题,在面试的时候最好还是用自己的语言回答会更加靠谱,不要背网上所谓的标准答案。

03

结尾

好了,以上就是我对Java和JavaScript的理解。我是被编程耽误的文艺Tom,如果我的分享对你有帮助,请动动手指一键三连分享给更多的人。关注我,面试不再难!

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2023-11-18,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 Tom弹架构 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
请你说一说Java 和 JavaScript的区别?
一位应届生在面试的时候把所有的八股文都答对了。没成想,有位面试官出了个奇招,面试官问了一句说,请你对比一下Java和JavaScript的区别。我这想这样入门级别的问题,应该每一个后端开发人员都能答得上吧。没成想,有位应届毕业生竟然没有答出来,还说JavaScript是对Java的升级。这样的回答,实在是有点不应该。
Tom弹架构
2022/12/19
2830
请你说一说Java 和 JavaScript的区别?
Javascript诞生记
1. 二周前,我谈了一点Javascript的历史。 今天把这部分补全,从历史的角度,说明Javascript到底是如何设计出来的。 只有了解这段历史,才能明白Javascript为什么是现在的样子。我依据的资料,主要是Brendan Eich的自述。 2. 上一篇文章写道: "1994年,网景公司(Netscape)发布了Navigator浏览器0.9版。这是历史上第一个比较成熟的网络浏览器,轰动一时。但是,这个版本的浏览器只能用来浏览,不具备与访问者互动的能力。......网景公司急需一种网页脚本语言
ruanyf
2018/04/12
6770
Javascript诞生记
Java面试题全集上(2)
答:理论上Java因为有垃圾回收机制(GC)不会存在内存泄露问题(这也是Java被广泛使用于服务器端编程的一个重要原因);然而在实际开发中,可能会存在无用但可达的对象,这些对象不能被GC回收,因此也会导致内存泄露的发生。例如Hibernate的Session(一级缓存)中的对象属于持久态,垃圾回收器是不会回收这些对象的,然而这些对象中可能存在无用的垃圾对象,如果不及时关闭(close)或清空(flush)一级缓存就可能导致内存泄露。
吾爱小白
2020/07/08
6180
java和javaScript到底有怎样的关系?
JavaScript 是一种轻量级的脚本语言。所谓“脚本语言”(script language),通俗来说,意思是它不具备开发操作系统的能力,而是只用来编写控制其他大型应用程序(比如浏览器)的“脚本”。JavaScript 也是一种嵌入式(embedded)语言。它本身提供的核心语法不算很多,只能用来做一些数学和逻辑运算。JavaScript 本身不提供任何与 I/O(输入/输出)相关的 API,都要靠宿主环境(host)提供,所以 JavaScript 只合适嵌入更大型的应用程序环境,去调用宿主环境提供的底层 API。目前,已经嵌入 JavaScript 的宿主环境有多种,最常见的环境就是浏览器,另外还有服务器环境,也就是 Node 项目。
Java深度编程
2020/06/10
1.1K0
Java和JavaScript区别与联系
Java和JavaScript有啥区别,据说还有很多人不知道,来给大家科普一下两者区别!
全栈程序员站长
2022/09/08
5610
ECMAScript进化史(1):​话说Web脚本语言王者JavaScript的加冕历史
在行文之前,反手就安利一下《浏览器史话中chrome霸主地位的奠定与国产浏览器的割据混战》。
周陆军
2020/03/14
8020
从 Java 和 JavaScript 来学习 Haskell 和 Groovy(类型系统)
接上文 《从 Java 和 JavaScript 来学习 Haskell 和 Groovy(引子)》。
四火
2022/07/19
7110
JavaScript 语言特点
在一门语言中,函数可以被当作参数传递给其他函数,可以作为另一个函数的返回值,可以被赋值给一个变量,简而言之,当函数可以当作变量一样使用时,便称这门语言拥有头等函数(First-class Function),或称拥有函数优先特性。
LIYI
2023/08/31
2470
JavaScript 语言特点
JavaScript深入浅出第2课:函数是一等公民是什么意思呢?
看到一篇讲JavaScript历史的文章里面提到:JavaScript借鉴Scheme语言,将函数提升到"一等公民"(first class citizen)的地位。
Fundebug
2019/06/25
8310
【JavaScript运行原理之V8引擎】V8引擎解析JavaScript代码原理
高级语言最终都需要编译为低级语言才能被硬件执行,越高级的语言中间的转换时间越长,效率越低,越低级的语言执行素的越快,但是由于缺少高级语言便捷的语法特性所以很难编写代码。
CODER-V
2023/03/11
5570
JavaScript与Java的区别
关于java和javascript的关系,我曾在一个论坛上看过这样一句话,java和javascript的关系,就好比雷锋和雷峰塔的关系,实在是经典! 因为名字的关系,总是有人误以为Javascript是Java的一个子集,或者必然会存在一些关系。但非常让大家失望,这两种编程语言除了名字开头相同之外,没有其它内在的关系!
conanma
2021/09/07
7250
快速认识,前端必学编程语言:JavaScript
JavaScript是构建Web应用必学的一门编程语言,也是最受开发者欢迎的热门语言之一。所以,如果您还不知道JavaScript的用处、特点的话,赶紧补充一下这块基础知识。您可以通过以下的文字内容学习,也可以通过文末的视频学习,希望本文对您有所帮助。
程序猿DD
2023/12/10
2850
快速认识,前端必学编程语言:JavaScript
JavaScript介绍
JavaScript在1995年由Netscape公司的Brendan Eich,在网景导航者浏览器上首次设计实现而成。因为Netscape与Sun合作,Netscape管理层希望它外观看起来像Java,因此取名为JavaScript。但实际上它的语法风格与Self及Scheme较为接近。 JavaScript(简称“JS”) 是一种具有函数优先的轻量级,解释型或即时编译型的编程语言。 JavaScript的标准是ECMAScript,2015年6月17日,ECMA国际组织发布了ECMAScript的第六版,该版本正式名称为 ECMAScript 2015,但通常被称为ECMAScript 6 或者ES2015。 JavaScript与Java名称上的近似,是当时Netscape为了营销考虑与Sun微系统达成协议的结果。实际上的JavaScript语言基于原型编程、是多范式的动态脚本语言,并且支持面向对象、命令式、声明式、函数式编程范式。
zy010101
2022/06/06
3080
TypeScript 针对 JavaScript 做了什么
JavaScript 是一门非常灵活的编程语言,在了解为什么要有 TypeScript 之前,觉得还是有必要说说这个世界对 JavaScript 的误解。
HoneyMoose
2021/11/15
3630
TypeScript 针对 JavaScript 做了什么
4 个 JavaScript 最基础的问题 —— Eric Elliott
持续创作,加速成长!这是我参与「掘金日新计划 · 6 月更文挑战」的第29天,点击查看活动详情
掘金安东尼
2022/09/19
2840
JavaScript学习笔记(一)——JS基础知识介绍
Javascript是一种由Netscape的LiveScript发展而来的原型化继承的面向对象的动态类型的区分大小写的客户端脚本语言,主要目的是为了解决服务器端语言,比如Perl,遗留的速度问题,为客户提供更流畅的浏览效果。当时服务端需要对数据进行验证,由于网络速度相当缓慢,只有28.8kbps,验证步骤浪费的时间太多。于是Netscape的浏览器Navigator加入了Javascript,提供了数据验证的基本功能。
阳光岛主
2019/02/19
1.1K0
【Java】Java与JavaScript:探究它们的区别与联系
Java和JavaScript是两种在编程领域中广泛使用的语言,尽管它们在名称上有相似之处,但实际上却是两个不同的语言。在本篇博客中,我们将深入探讨Java和JavaScript的区别与联系,以帮助初学者更好地理解它们。
人不走空
2024/02/21
2430
【Java】Java与JavaScript:探究它们的区别与联系
从λ演算到函数式编程聊闭包(2):彻底理解JavaScript闭包规则
闭包是很多语言都具备的特性,上篇《从抽象代数漫游函数式编程(1):闭包概念再Java/PHP/JS中的定义》
周陆军
2021/08/24
8520
从 Java 和 JavaScript 来学习 Haskell 和 Groovy(引子)
我记得刚接触计算机的时候,我就受到了两个非常巨大的错误观念的影响,这个观念最初是来自于老师的传授还是学长的教诲已经记不清了,但是直到我工作几年以后,才慢慢有了实际的体会:
四火
2022/07/19
4210
从 Java 和 JavaScript 来学习 Haskell 和 Groovy(引子)
JavaScript和Java的区别?
它是运行在浏览器中的一种脚本语言,在web页面中,Javascript可谓是无所不能:
葆宁
2019/04/19
9820
推荐阅读
相关推荐
请你说一说Java 和 JavaScript的区别?
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档