”工欲善其事,必先利其器。“—孔子《论语.录灵公》
首页 > 编程 > 过渡指南:从Java到JavaScript

过渡指南:从Java到JavaScript

发布于2025-02-06
浏览:942

去年,我重新审视了编程,休息后专注于Java。 我的目标是比Python更具挑战性的语言。我将3-4个月的时间用于掌握Java的核心概念:其操作机制,面向对象的编程(OOP),内存管理和通过JDBC的数据库连接。

最近,我从JavaScript开始过渡到Web开发。几天后,探索JavaScript,我渴望分享我对Java和JavaScript之间关键区别的观察和见解,以及如何进行平滑的过渡。

[2

最引人注目的区别在于数据类型声明。与Java的静态键入不同,JavaScript是动态键入的。尽管两种方法都有优点和缺点,但我们将重点介绍关键区别:JavaScript的单线线程自然与Java的多线程功能对比。 [2

想象一下Java是一位细致的,面向细节的士兵。 说明必须精确,指定任务及其理由。相反,JavaScript类似于一个轻松的朋友;它有效地完成任务而没有过多细节 - 简单地提供任务,并处理执行。 [2 [2

)在定义变量时。 但是,JavaScript是灵活的。使用

[2 公共静态void main(string [] args){ int a = 5; int b = 6; int结果= a b; system.out.println(结果); } }

= 5; 令B = 6; 令sum = a b; console.log(“总和为:” sum); [2 鉴于其广泛使用,

以下代码段说明了类和方法创建中的句法差异:

[2 [2 字符串名称; 人(字符串名称){ this.name = name; } void engret(){ system.out.println(“ hello”,name); } 公共静态void main(string [] args){ 人=新人(“约翰”); person.greet(); } }

Transition Guide: From Java to JavaScript [2 [2 构造函数(名称){ this.name = name; } engret(){ console.log(`Hello,$ {this.name}`); } } const Person =新人(“ John”); person.greet();

在JavaScript 中创建对象创建

在Java中,对象创建需要类定义。 JavaScript具有灵活性;可以在没有明确的类声明的情况下直接创建对象。

[2 名称:“约翰”, 问候:function(){ console.log(`Hello,$ {this.name}`); } }; person.greet(); [2 继承语法在两种语言上都显示出相似之处。 [2 [2 void sound(){ system.out.println(“一些声音”); } } 班狗扩展动物{ void sound(){ system.out.println(“ bark”); } } 公共类Main { 公共静态void main(string [] args){ 狗狗=新狗(); dog.sound(); } } [2 [2 声音() { console.log(“一些声音”); } } 班狗扩展动物{ 声音() { console.log(“ bark”); } } const狗=新狗(); dog.sound(); [2 JavaScript的封装比Java的封装更弱;它缺乏访问修饰符( private protected public )。 但是,在ES2022中引入的(私有字段)表示一定程度的私有字段控制: [2 #姓名; 构造函数(名称){ 这个。#name = name; } engret(){ console.log(`Hello,$ {this。#name}`); } } const Person =新人(“ John”); person.greet(); console.log(person。#name); //错误:必须在封闭类 JavaScript由于其解释性质和缺乏编译时间检查而不支持过载。 但是,支持方法覆盖: [2 声音() { console.log(“一些声音”); } } 班狗扩展动物{ 声音() { console.log(“ bark”); } } const狗=新狗(); dog.sound(); // bark

最新教程 更多>
  • 对象拟合:IE和Edge中的封面失败,如何修复?
    对象拟合:IE和Edge中的封面失败,如何修复?
    To resolve this issue, we employ a clever CSS solution that solves the problem:position: absolute;top: 50%;left: 50%;transform: translate(-50%, -50%)...
    编程 发布于2025-04-29
  • 如何在JavaScript对象中动态设置键?
    如何在JavaScript对象中动态设置键?
    在尝试为JavaScript对象创建动态键时,如何使用此Syntax jsObj['key' i] = 'example' 1;不工作。正确的方法采用方括号: jsobj ['key''i] ='example'1; 在JavaScript中,数组是一...
    编程 发布于2025-04-29
  • IACA助力优化Intel CPU代码性能分析
    IACA助力优化Intel CPU代码性能分析
    被称为英特尔体系结构代码分析仪,IACA是用于评估针对Intel CPU的代码调度的高级工具。它以三种模式运行: 吞吐量模式: iaca iaca衡量最大的吞吐量,假设它是嵌套循环的主体。 IACA traces the sequence of instructions as they progr...
    编程 发布于2025-04-29
  • 为什么使用Firefox后退按钮时JavaScript执行停止?
    为什么使用Firefox后退按钮时JavaScript执行停止?
    导航历史记录问题:JavaScript使用Firefox Back Back 此行为是由浏览器缓存JavaScript资源引起的。要解决此问题并确保在后续页面访问中执行脚本,Firefox用户应设置一个空功能。 警报'); }; alert('inline Alert')...
    编程 发布于2025-04-29
  • 如何使用PHP将斑点(图像)正确插入MySQL?
    如何使用PHP将斑点(图像)正确插入MySQL?
    essue VALUES('$this->image_id','file_get_contents($tmp_image)')";This code builds a string in PHP, but the function call ...
    编程 发布于2025-04-29
  • Java GUI计算器中如何使用getSource()获取数字按钮值?
    Java GUI计算器中如何使用getSource()获取数字按钮值?
    如何使用getSource() 要检索每个按钮的值,请按照以下步骤操作: 当前的code bud y you budsors。 ETC。)。为数字按钮(例如NumactionListener)创建一个单独的操作侦听器。 为号码按钮注册操作侦听器。将NumactionListener添加到所有数字按...
    编程 发布于2025-04-29
  • Java字符串非空且非null的有效检查方法
    Java字符串非空且非null的有效检查方法
    检查字符串是否不是null而不是空的 if(str!= null && str.isementy())二手: if(str!= null && str.length()== 0) option 3:trim()。isement(Isement() trim whitespace whitesp...
    编程 发布于2025-04-29
  • PHP阵列键值异常:了解07和08的好奇情况
    PHP阵列键值异常:了解07和08的好奇情况
    PHP数组键值问题,使用07&08 在给定数月的数组中,键值07和08呈现令人困惑的行为时,就会出现一个不寻常的问题。运行print_r($月份)返回意外结果:键“ 07”丢失,而键“ 08”分配给了9月的值。此问题源于PHP对领先零的解释。当一个数字带有0(例如07或08)的前缀时,PHP将...
    编程 发布于2025-04-29
  • Go语言垃圾回收如何处理切片内存?
    Go语言垃圾回收如何处理切片内存?
    Garbage Collection in Go Slices: A Detailed AnalysisIn Go, a slice is a dynamic array that references an underlying array.使用切片时,了解垃圾收集行为至关重要,以避免潜在的内存泄...
    编程 发布于2025-04-29
  • 使用JavaScript将SVG转换为JPEG、PNG等格式的技巧
    使用JavaScript将SVG转换为JPEG、PNG等格式的技巧
    将SVG转换为JPEG,PNG和浏览器中的其他格式 从SVG图形中创建高质量的图像可能是一个挑战,尤其是您需要以各种格式导出它们。 JavaScript为此任务提供了一种多功能解决方案,使您无需外部工具或插件即可将SVG图像无缝地转换为位映射。 使用canvg库进行渲染:Capture Image...
    编程 发布于2025-04-29
  • 查找当前执行JavaScript的脚本元素方法
    查找当前执行JavaScript的脚本元素方法
    如何引用当前执行脚本的脚本元素在某些方案中理解问题在某些方案中,开发人员可能需要将其他脚本动态加载其他脚本。但是,如果Head Element尚未完全渲染,则使用document.getElementsbytagname('head')[0] .appendChild(v)的常规方...
    编程 发布于2025-04-29
  • C++中如何将独占指针作为函数或构造函数参数传递?
    C++中如何将独占指针作为函数或构造函数参数传递?
    在构造函数和函数中将唯一的指数管理为参数 unique pointers( unique_ptr [2启示。通过值: base(std :: simelor_ptr n) :next(std :: move(n)){} 此方法将唯一指针的所有权转移到函数/对象。指针的内容被移至功能中,在操作...
    编程 发布于2025-04-29
  • 表单刷新后如何防止重复提交?
    表单刷新后如何防止重复提交?
    在Web开发中预防重复提交 在表格提交后刷新页面时,遇到重复提交的问题是常见的。要解决这个问题,请考虑以下方法: 想象一下具有这样的代码段,看起来像这样的代码段:)){ //数据库操作... 回声“操作完成”; 死(); } ?> ...
    编程 发布于2025-04-29
  • C#中Async/Await:直接返回Task还是Await?
    C#中Async/Await:直接返回Task还是Await?
    在返回任务的async方法的末尾返回与等待的后果,等待ersync方法 的后果A(直接返回) 需要更少的boilerplate代码,并创建少量任务。 synchronously.This option is suitable if your method performs a small amou...
    编程 发布于2025-04-29
  • Async Void vs. Async Task在ASP.NET中:为什么Async Void方法有时会抛出异常?
    Async Void vs. Async Task在ASP.NET中:为什么Async Void方法有时会抛出异常?
    在ASP.NET async void void async void void void void void的设计无需返回asynchroncon而无需返回任务对象。他们在执行过程中增加未偿还操作的计数,并在完成后减少。在某些情况下,这种行为可能是有益的,例如未期望或明确预期操作结果的火灾和...
    编程 发布于2025-04-29

免责声明: 提供的所有资源部分来自互联网,如果有侵犯您的版权或其他权益,请说明详细缘由并提供版权或权益证明然后发到邮箱:[email protected] 我们会第一时间内为您处理。

Copyright© 2022 湘ICP备2022001581号-3