繁体   English   中英

JavaScript和Java有什么区别?

[英]What's the difference between JavaScript and Java?

JavaScript和Java有什么区别?

Java和Javascript相似,例如Car和Carpet相似。

从本质上讲,它是一个玩具,旨在编写少量代码,并且传统上由经验不足的程序员使用和滥用。

另一种是用于Web浏览器的脚本语言。

这是两种语言之间的一些区别:

  • Java是一种静态类型的语言。 JavaScript是动态的。
  • Java是基于类的; JavaScript是基于原型的。
  • Java构造函数是只能在对象创建时调用的特殊函数。 JavaScript“构造函数”只是标准功能。
  • Java要求所有非阻塞语句都以分号结尾; JavaScript在某些行的末尾插入分号。
  • Java使用基于块的作用域; JavaScript使用基于函数的作用域。
  • Java对于非静态方法具有隐式的this范围,而对于隐式类的范围则具有隐式的类范围; JavaScript具有隐式的全局范围。

以下是一些我认为是JavaScript的特长的功能:

  • JavaScript支持闭包; Java可以使用匿名类来模拟排序的“关闭”。 (在Java的未来版本中可能会支持真正的闭包。)
  • 所有的JavaScript函数都是可变的。 Java函数只有明确标记才可变。
  • 可以在运行时重新定义JavaScript原型,并且对所有引用对象都具有立即作用。 无法以影响任何现有对象实例的方式重新定义Java类。
  • JavaScript允许独立于其原型重新定义对象中的方法(请考虑Ruby中的本征类,但使用类固醇)。 Java对象中的方法绑定到其类,并且无法在运行时重新定义。

看一下Wikipedia链接

尽管有JavaScript名称,但JavaScript基本上与Java编程语言无关,尽管它们都具有通用的C语法,并且JavaScript复制了许多Java名称和命名约定。 该语言最初命名为“ LiveScript”,但在Netscape和Sun之间的共同营销协议中被重命名,以换取Netscape将Sun的Java运行时与当时主流的浏览器捆绑在一起。 JavaScript中的关键设计原理继承自Self和Scheme编程语言。

一切。

Netscape用这种方式命名JavaScript,以使粗心大意的人误以为它与当今的流行语Java有关,并且成功了。

两种语言完全不同。

JavaScript是一种面向对象的脚本语言,可让您创建动态HTML页面,从而使您通常在浏览器中即可处理输入数据并维护数据。

Java是一种编程语言,库的核心集和虚拟机平台,可让您创建可在几乎所有平台上运行的编译程序,而无需以原始格式分发或重新编译源代码。

虽然两者的名称相似,但实际上它们是两种完全不同的编程语言/模型/平台,用于解决完全不同的问题集。

另外,这直接来自Wikipedia Javascript文章

一个常见的误解是JavaScript与Java类似或紧密相关。 事实并非如此。 两者都有类似C的语法,都是面向对象的,通常是沙盒化的,并且在客户端Web应用程序中得到了广泛使用,但是相似之处到此为止。 Java具有静态类型; JavaScript的键入是动态的(意味着变量可以容纳任何类型的对象,并且不能受到限制)。 Java是从编译后的字节码加载的; JavaScript被加载为人类可读的代码。 C是他们最后的祖先语言。

根据我的经验,除了完全不同的语言外:

  • Java最初看起来不错,但后来变得很烦人。
  • 首先,JavaScript看起来很糟糕,毫无希望,然后逐渐变得真正喜欢它。

(但是,这可能与我偏爱功能编程而不是OO编程...有关。)

一切。 它们是无关的语言。

它们是具有无关血统的独立语言。 Brendan Eich最初是在Netscape中创建Javascript的。 它最初被称为摩卡咖啡。 如果愿意的话,选择Javascript作为名称是对当时由Patrick Naughton,James Gosling等在Sun开发的新兴Java编程语言的致敬。

就像大家都说的那样,它们几乎完全不同。

但是,如果您需要Java应用程序的脚本语言,那么Javascript实际上是一个不错的选择。 有多种方法可以使Javascript在JVM中运行,并且一旦完成,您就可以无缝地访问和操作Java类。

他们彼此无关。

Java是静态类型的,可以在其自己的VM上进行编译,运行。

Javascript是动态键入,解释并在浏览器中运行。 它还具有一流的功能和匿名功能,而Java没有。 它可以直接访问网页元素,这使其在执行客户端处理时很有用。

它们在语法上也有些相似,但仅此而已。

不要与名字混淆。
Java是在Sun Microsystems(现为Oracle)上创建的。
但是,JavaScript是在Web早期由Netscape(现为Mozilla)创建的,从技术上讲,“ Java-Script”是Sun Microsystems许可的商标,用于描述Netscape语言的实现。 Netscape向ECMA(欧洲计算机制造商协会)提交了用于标准化的语言,由于商标问题,该语言的标准化版本使用了尴尬的名称“ ECMAScript”。出于相同的商标原因,该语言的Microsoft版本已正式为人所知。作为“ JScript”。实际上,几乎每个人都将其称为JavaScript语言。 真实名称是“ ECMAScript”。

两种语言完全不同!!!

实际上,世界上每台PC都至少装有一个JavaScript解释器。

大多数(但不是“几乎所有”)PC都安装了Java VM。

Mozilla小组(他们制作Firefox) 对Java脚本重新介绍应该对此进行解释。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM