你知道Java和JS的十大区别吗?

发表时间: 2022-04-25 17:42


还记得刚开始学习编程时,我就在想:“Java和JavaScript是同一种语言吗?”。就是因为看到它们名称中都带“java”,所以才会误以为它们有关系。实际上,它们并没有太大的联系。


这两者的关系,就和英语与斯瓦希里语「非洲语言使用人口最多的语言之一,简称斯语」类似。两者都是语言,但是语法、用词甚至语音都完全不同。与英语和斯语相比,Java和JavaScript的区别其实更大。英语和斯语是大部分人日常互相交流沟通的语言。但是,java和JavaScript是计算机语言,具有不同的交流方式。



>>不同之处




1、命名


JavaScript是由Netscape公司设计实现而成的。JavaScript最初被称为Mocha,然后更名为LiveScript。Netscape公司与Sun公司合作,Netscape高层希望它看上去能够像Java,因此才取名为JavaScript。其实JavaScript走的一直是依靠大IP普及的营销策略,正如一开始我们所疑惑的地方一样,JavaScript就是依靠类似java的名称才被大众所熟知。就是靠着这一点,现在JavaScript已经是世界上第三流行的语言,并且人气还在不断上升。


Java是由Oracle公司(以前由Sun Microsystems)提供支持。而Java最初被称为Oak,然后更名为Green,后来才改成当前的名称Java。而java虽说是使用最广泛的语言之一,但近年来人气却在缓慢下降。





2、应用范围


Java具有极广的通用性,几乎在任何地方都可以使用;而JavaScript主要用于带有一些牵引服务器端「Node」,移动端「React Native」和桌面端「Electron」的前端Web开发。




3、语言特性


JavaScript是一种脚本语言,很多知名的浏览器都对Js有非常良好的本地支持,所以它成为了最受欢迎的前端语言之一;而Java是一种面向对象的高级编程语言,不适合做前端开发。




4、基于对象和面向对象


Java可以编写桌面应用程序、Web应用程序、分布式系统嵌入式系统应用程序。它是一种真正的面向对象(Object Oriented)的语言,即便是开发简单的程序,也必须设计对象。


JavaScript是一种网络脚本语言,常用来为网页添加各式各样的动态功能,为用户提供更流畅美观的浏览效果。它可以使网页具有交互性;并提供及时反馈节省用户时间;还可以根据用户的操作,动态的创建页面。它是一种基于对象(Object Based)和事件驱动(Event Driver)的编程语言。





5、解释和编译


Java是一种编译语言,即Java代码被转换为在语言虚拟机中执行字节码。Java的源代码在执行之前,必须经过编译。


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




6、检测代码


Java是强类型的静态语言,每个变量必须预先指定其类型。JavaScript是弱类型的动态语言,其变量可以根据赋值而改变类型,如:var s=10;那么s为int型。JavaScript使用动态类型检查,即它是在执行JavaScript代码时检查变量的类型。这样做有一个好处就是可以使程序员更容易编码。而Java使用静态类型检查,即它是在编译时验证变量的类型。也就是说,它要检测的错误代码更少!





7、代码格式


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




8、线程


JavaScript不支持多线程,因为浏览器中的JavaScript解释器是单线程的。而Java则支持多线程。




9、图文操作


Java可以直接对文本和图形进行操作。而JavaScript是通过在Web页面中与HTML元素组合来发挥作用的,但JaveScrit可以控制浏览器,让浏览器直接对文本和图形进行处理。




10.工作机会


Java比JavaScript有更多的工作机会。根据数据,在中国Java开发发布了21094个职位,而JavaScript开发只发布了8486个职位。相比较而言,Java更适合你寻找工作。


了解java和JavaScript的不同之处,其实并没有其他的意义,重要的是要通过清楚他们不同之处,明白什么时候更适合用JavaScript,而哪些情况下则使用java。




那么,什么时候使用JavaScript和Java?


举个例子来说,如何用java和JavaScript的方法实现让孩子跳跃的操作?


按Java的方法:因为孩子听不懂“跳”,所以你要在他大脑的部分区域插入了一个控制跳跃功能的电极装置。当电极冲击大脑时,他就会不由自主地跳动。机器可以将你的指令转化为脑信号,你只需要将其安装在他身上,不需要借助其他的东西,就可以控制他完成“跳跃”动作。


按JavaScript的方法:实现“跳跃”,其实只要教孩子如何跳跃。教完以后,当你说“跳”时,他便知道要开始跳了。所以在JavaScript中,主要的还是你需要教他如何理解“跳”一词。毕竟程序必须先知道如何解释命令才能执行。


回到我们的示例当中,除了本身无法在大脑中插入电极装置以外,将机器安装在人身上,让他遵循命令的行为是非常不可取的。而如果你教他理解命令,这样的话,下次他一听到这个命令,就能在没有其他东西辅助的情况下工作。


人是如此,计算机亦是。为什么一直在强调解释型的重要性,主要还是因为这样相比较而言更容易编写,但并不是所有时间都要使用JavaScript。


平日里遇到要用java或JavaScript进行编写时,我个人的建议是,JavaScript固然十分好用,但一定要是自律性很高的人才更适用,因为,当你需要维护混乱无规则的JavaScript代码时,就会发现,那简直是一场噩梦。所以,我还是建议你优先使用java来编写程序。因为,日常工作当中,你大可使用java编写不受限的程序浏览器。