• 日常搜索
  • 百度一下
  • Google
  • 在线工具
  • 搜转载

Java和JavaScript有什么区别?

对于那些刚刚开始编程的人来说无论是服务器端还是客户端,您都不可避免地会遇到编程语言 javajavascript

如果您有任何编程经验,那么您就会知道它们并不相同,并且您可能知道两者之间的区别。但是,如果您刚刚开始,由于某些原因,这可能会令人困惑,首先是语言的命名方式。

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

最终,我们正在寻求帮助那些刚接触编程并且不确定自己想学习(或先学习!)的语言的人。在本文中,我们将看看这些语言中存在的一些关键差异以及每种语言的适用范围,试图为您提供必要的信息,帮助您在职业生涯中迈出下一步。

Java 和 JavaScript

在开始区分这两种语言时,也许最好的一点是像这样进行比较:

Java 之于 JavaScript,就像 ham 和 hamster一样。

不幸的是,我不能声称这个类比是我自己的。相反,它是由 Jeremy Keith 创造的,但它提出了一个很好的观点:这两种语言的唯一共同点是它们在名称中共享“Java”这个名称。 

一个相似之处是这些语言是我们所说的“C 风格”语言,因为它们的语法与 C 语言相似。也就是说,它们都有函数、圆括号、方括号和分号。

但除此之外,几乎没有相似之处。在本文的其余部分,我们将在非常高的层次上研究每种语言,让您了解每种语言提供的内容以及每种语言的功能。 

完成后,您应该能够看到这两种语言的不同之处,尽管它们的名称相似并且语法相似,但这是它们唯一的共同点。

所以让我们开始吧。

什么是 Java?

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

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

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

首先,重要的是要了解 Java 是一种编译语言,尽管它不会编译为二进制可执行代码。相反,它被编译为bytecode

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

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

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

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

但首先,让我们看看我们必须在 Java 中工作的一些能力。值得注意的是,我们的工作水平要高得多。例如,我们开始使用以下const ructors:

  • 类是任何面向对象的语言的基础。它们允许我们定义对象在实例化后将表现出的特征和行为。

  • 函数是类中允许对象 做某事的部分。代表 a 的类 File 可以让我们读取它所包含的内容。

  • 属性或属性是描述类的内容。例如, A File可能具有诸如读取或写入文件系统的能力之类的权限。它也可能有一个路径,表示它在文件系统上的位置。

  • 继承是指一个类可以从另一个类继承某些属性。这意味着它从父类接收所有功能和属性,并且可以添加其独特的功能。

如果您以前从未编写过代码,其中一些可能听起来像行话。可以这么理解!我们有一些资源可以帮助您了解您需要了解的内容:

  • Java 计算机编程简介:101

  • Java 计算机编程简介:201

  • Java 计算机编程简介:301

但在决定学习什么之前,让我们先来看看 JavaScript。

什么是 JavaScript?

我在上一篇文章中更详细地介绍了 JavaScript,您可以在此处阅读,但我将在本文中介绍前面提到的要点。如需更深入的了解,请查看上面提供的内容。

JavaScript 的核心是一种动态语言,它是无类型的,并且是被解释的。这表示:

  • 作为开发人员,我们可以通过将代码添加到预先存在的对象(例如 object )来轻松扩展语言的某些方面 String

  • 该语言的无类型特性意味着我们可以声明字符串、布尔值和数字(相对于整数、浮点数和小数),而无需像在 Java(和其他语言)中那样明确声明它们的类型。

  • 该语言被解释,这意味着它没有被编译成可执行文件。相反,它由网络浏览器或计算机上的其他软件解释,将您的指令翻译成机器代码。

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

  • 定义变量?

  • 实现功能?

  • 创建对象?

  • 设置条件语句?

  • 以及更多。

很多。我知道。但好消息是我们有 大量资源可以帮助您快速掌握 JavaScript。一旦你了解了语言的细微差别,在它的范围内工作就会变得越来越容易。

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

  • JavaScript 基础

  • JavaScript 开发者必备工具

  • 使用 ES6 的面向对象的 JavaScript

  • JavaScript 会发生什么

一旦您更熟悉该语言,使用适当的工具来开发您的应用程序也很重要。这包括使用调试器(大多数现代浏览器都包括)之类的工具。不过,这超出了本文的范围。

关于面向对象的注释

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

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

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

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

我应该选择哪一个?

正如您从上面的内容中看到的那样,这两种语言——尽管它们的语法都受到 C 的启发——是非常不同的。每个也有不同的目的。

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

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

结论

显然,这些语言中的每一种都有其独特的优点和缺点。老实说,我认为促使我们选择一种语言而不是另一种语言的大部分原因与我们在为自己和他人构建解决方案方面想要做的事情有关。

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



文章目录
  • Java 和 JavaScript
    • 什么是 Java?
    • 什么是 JavaScript?
    • 关于面向对象的注释
  • 我应该选择哪一个?
  • 结论