Java和JavaScript有什么区别?

对于刚开始编程的人(服务器端或客户端),不可避免的是您会遇到Java和JavaScript编程语言。

如果您有彼此编程的经验,那么您会知道它们并不相同,并且您可能知道两者之间的区别。 但是,如果您刚刚入门,由于某些原因,这可能会造成混淆,首先是语言的命名方式。

尽管它们在名称中共享名称“ Java”,但它们共享的属性和特性却很少。 在本文中,我们将通过检查每种语言提供的一些高级属性来了解这些语言的一些主要差异。

最终,我们正在寻求帮助那些刚接触编程并且不确定要学习哪种语言(或先学习!)的人。 在本文中,我们将研究语言中存在的一些主要差异,以及每种语言适用的地方,以试图为您提供必要的信息,以帮助您迈向职业的下一步。

Java和JavaScript

开始区别这两种语言时,最好的办法是进行如下比较:

Java和JavaScript一样,就像火腿一样。

不幸的是,我不能以自己的这种比喻。 相反, 它是由杰里米·基思(Jeremy Keith)创造的 ,但它提出了一个很好的观点:语言唯一的共同点是它们在名称中共享名称“ Java”。

一种相似之处在于,这些语言就是我们所谓的“ C样式”语言,因为它们的语法类似于C的语法。也就是说,它们都具有函数,括号,方括号和分号。

但是除此之外,几乎没有相似之处。 在本文的其余部分中,我们将以很高的层次介绍每种语言,以使您了解每种语言提供的功能以及每种语言的功能。

一旦这样做,你应该能够看到两种语言的差异,尽管它们的名称相似,并有一些类似的语法,这对唯一的,他们的共同点。

因此,让我们开始吧。

什么是Java?

我们已经在该站点的其他教程中介绍了Java,并且随着语言的不断发展,我们将继续这样做。

Java的构思是“一次编写,可在任何地方运行”,这意味着您可以在计算机上编写程序,然后将其部署到具有Java运行时的任何设备上。

但是,等等:什么是Java运行时?

首先,重要的是要了解Java是一种编译语言,尽管它没有编译成二进制的可执行代码。 而是将其编译为bytecode

Java字节码是Java虚拟机的指令集。 每个字节码由代表指令(操作码)的一个字节(在某些情况下为两个字节)以及用于传递参数的零个或多个字节组成。

听起来不那么令人兴奋,不是吗? 没关系! 作为开发人员,我们不负责编写字节码。 相反,Java编译器将我们的代码编译为字节码。

该字节码在运行时之上执行,该运行时在另一个操作系统的上下文中运行。 该操作系统可以在手机上运行,​​也可以在另一台计算机上运行,​​也可以在Windows,OS X,Linux或与其兼容的任何其他系统上运行。 您可以在此页面上阅读所有内容。

听起来很整洁,对吧? 问题是,这并非没有挑战。 似乎比以前要容易得多,这是更高级的Java开发人员可以解决的问题。 它不在本文讨论范围之内。 相反,我们将专注于语言的属性,以便我们可以将其与JavaScript进行比较和对比。

但是首先,让我们看一下我们必须在Java中工作的一些能力。 重要的是要注意,我们的工作水平更高。 例如,我们开始使用以下构造函数:

  • 类是任何基于对象的语言的基础。 它们使我们能够定义对象实例化后将表现出的特征和行为。
  • 函数是允许对象执行某些操作的类的一部分 。 代表File类可能使我们可以读取其中包含的内容。
  • 属性或属性是描述类的内容。 例如, File可能具有权限,例如读取或写入文件系统的能力。 它还可能具有表示其在文件系统上的位置的路径。
  • 继承是一个类可以从另一类继承某些属性的时间。 这意味着它从父类接收所有功能和属性, 并且可以添加其独特功能。

如果您以前从未编写过代码,则其中的一些听起来可能像专业术语。 可以理解的是! 我们有一些资源可用来帮助您教会您需要了解的内容:

但是,在对要学习的内容做出决定之前,让我们先来看看JavaScript。

什么是JavaScript?

在上一篇文章中,我已经更详细地介绍了JavaScript,您可以在此处阅读 ,但是如前所述,在本文​​中,我将介绍一些要点。 若要进行更深入的了解,请查看上面提供的内容。

JavaScript从本质上讲是一种无类型的动态语言,并且可以对其进行解释。 这表示:

  • 作为开发人员,我们可以通过将代码添加到预先存在的对象(例如对象String来轻松扩展语言的某些方面。
  • 这种语言的非类型化性质意味着我们可以声明字符串,布尔值和数字(与整数,浮点数和十进制相对),而不必像我们在Java(和其他语言)中那样明确声明其类型。
  • 语言被解释,这意味着它没有被编译成可执行文件。 而是由Web浏览器或计算机上的另一软件将其解释为将您的指令转换为机器代码的软件。

如果您对此感到困惑,请不要担心! 我们都去过那里:

  • 定义变量?
  • 实现功能?
  • 创建对象?
  • 设置条件语句?
  • 以及更多。

好多 我知道。 但令人高兴的是,我们拥有大量资源来帮助您掌握JavaScript。 而且,一旦您了解了这种语言的细微差别,就可以在其范围内工作,变得越来越容易。

请记住,所有的“我不确定自己在做什么”都是很自然的,并且是学习曲线的一部分。 如果您从未见过任何与JavaScript相关的编程,那么我强烈建议您阅读以下几门课程:

一旦您熟悉了该语言,使用适当的工具来开发应用程序也很重要。 这包括使用诸如调试器之类的工具(大多数现代浏览器都包含)。 但是,这超出了此特定文章的范围。

关于面向对象的注意事项

另一个重要的区别是,JavaScript和Java都被认为是面向对象的语言,但出于不同的原因。

Java允许我们从创建的类中创建对象的实例。 相反,JavaScript中的所有内容都是一个对象。 这意味着没有课程。 而且由于一切都是对象,因此一切都有我们可以使用的方法和属性。

在Java中,当您创建类的实例时,您可以访问通过类定义公开的方法和属性。 如果您具有公共属性,公共功能等,则开发人员可以使用它们。

在JavaScript中,当您创建变量,对象甚至函数时,您可以调用不仅存在于该对象上而且存在于给定对象派生其属性的对象上的函数。 这与JavaScript的原型继承特性有关,您可以在本文中阅读更多内容。

我应该选择哪一个?

从上面的内容中可以看出,这两种语言虽然都受C语言启发,但它们的语法却非常不同。 每个也有不同的目的。

尽管您可以使用Node.js之类的技术在服务器上编写JavaScript,但它们与Java所构建的应用程序类型不同。 此外,尽管您可以使用Java编写服务器端应用程序,但它们与通常使用JavaScript编写的应用程序类型不同。

相反,将JavaScript视为最适合客户端开发,将在Web浏览器中运行的应用程序或单页应用程序的语言通常会有所帮助。 最好将Java视为最适合用来编写可在各种不同的操作系统和设备上运行的服务器端或桌面应用程序的编程语言。

结论

显然,每种语言都有其独特的优点和缺点。 老实说,我认为促使我们选择一种语言而不是另一种语言的许多因素与我们为自己和他人建立解决方案时想要做的事情有关。

如果您希望在网络上工作,那么JavaScript 可能是您的最佳选择。 另一方面,如果您要编写桌面应用程序,那么Java并不是一个不错的选择。

对于那些感兴趣的人来说,值得注意的是,JavaScript已成为在网络上工作的事实上的语言之一。 这并非没有学习曲线,而且还有许多框架和库让您也很忙。 如果您正在寻找其他资源来学习或在工作中使用,请查看Envato市场中可用的资源

我大部分时间都在使用WordPress并在其上构建解决方案。 但是,我还是JavaScript的粉丝,并且不时关注它 。 如果您对我为Envato编写的其他课程和教程感兴趣,请查看我的个人资料页面 。 此外,您可以在我的博客上阅读有关WordPress和JavaScript开发的更多文章。 也可以通过@tommcfarlin在Twitter上关注我。

话虽如此,请在下面的评论提要中留下所有反馈。

学习JavaScript:完整指南

我们已经建立了完整的指南,可以帮助您学习JavaScript ,无论您是刚开始作为Web开发人员还是想探索更高级的主题。

翻译自: https://code.tutsplus.com/tutorials/whats-the-difference-between-java-and-javascript--cms-26194

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值