JavaScript和Java有什么区别?

JavaScript和Java有什么区别?

Java和Javascript类似Car和Carpet类似。

其中一个本质上是一个玩具,专为编写小代码而devise,传统上由缺乏经验的程序员使用和滥用。

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

以下是两种语言的区别:

  • Java是一种静态types的语言; JavaScript是dynamic的。
  • Java是基于类的; JavaScript是基于原型的。
  • Java构造函数是只能在创build对象时调用的特殊函数; JavaScript“构造函数”只是标准函数。
  • Java要求所有非块语句以分号结尾; JavaScript在特定行的末尾插入分号。
  • Java使用基于块的范围; JavaScript使用基于function的范围。
  • 对于非静态方法,Java有一个隐含的范围,隐式类范围; JavaScript具有隐式的全局范围。

以下是我认为是JavaScript特有优势的一些function:

  • JavaScript支持闭包; Java可以使用匿名类来模拟sorting“closures”。 (未来版本的Java可能支持真正的closures。)
  • 所有的JavaScript函数都是可变的; Java函数只有在明确标记的情况下才是可变的。
  • JavaScript原型可以在运行时重新定义,并对所有引用对象立即生效。 Java类不能以影响任何现有对象实例的方式重新定义。
  • JavaScript允许对象中的方法独立于其原型进行重新定义(认为Ruby中的本征类,但是类固醇); Java对象中的方法绑定到它的类,并且不能在运行时重新定义。

看看维基百科链接

JavaScript尽pipe名字与Java编程语言基本上没有关系,尽pipe两者都有通用的C语法,而JavaScript复制了许多Java名称和命名约定。 该语言最初被命名为“LiveScript”,但在网景和Sun之间的联合营销协议中被重新命名,以换取Netscape将Sun的Java运行时与他们当时的主stream浏览器捆绑在一起。 JavaScript中的关键devise原则是inheritance自Self和Scheme编程语言。

一切。

JavaScript被Netscape这样命名,使得粗心大意的人认为它与Java有关,这是当时的stream行语,而且它成功了。

这两种语言完全不同。

在这里输入图像描述
Java对于JavaScript来说就像火腿是为了仓鼠

JavaScript是一种面向对象的脚本语言,允许您创builddynamic的HTML页面,允许您处理input数据和维护数据,通常在浏览器中。

Java是一种编程语言,一组核心库和虚拟机平台,它允许您创build几乎在每个平台上运行的编译程序,而无需以原始格式或重新编译方式分发源代码。

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

此外,这是直接从维基百科Javascript文章 :

一个常见的误解是,JavaScript与Java相似或密切相关; 事实并非如此。 两者都有类C的语法,是面向对象的,通常是沙盒,广泛用于客户端Web应用程序,但相似之处就此结束。 Java有静态types; JavaScript的input是dynamic的(意味着一个variables可以容纳任何types的对象,不能被限制)。 Java从编译的字节码中加载; JavaScript被加载为可读代码。 C是他们最后一个共同的祖先语言。

除了完全不同的语言,以我的经验:

  • Java看起来不错,后来变得烦人。
  • JavaScript起初看起来非常糟糕,绝望,然后逐渐开始喜欢它。

(但是,这可能只是我的function编程优先于面向对象编程…;)

一切。 他们是不相关的语言。

他们是独立的语言与无关的血统。 Brendan Eich最初在Netscape上创build了Javascript。 它最初被称为摩卡。 如果你愿意的话,selectJavascript作为一个名字是一种点头,如果你愿意的话,可以使用由Patrick Naughton,James Gosling等人在Sun开发的那种上升的Java编程语言。 人。

就像大家所说的,他们几乎完全不同。

但是,如果您的Java应用程序需要脚本语言,则JavaScript实际上是一个非常好的select。 有一些方法可以使JavaScript在JVM中运行,并且一旦你完成,就可以非常无缝地访问和操作Java类。

他们没有任何关系。

Java是静态types的,编译,运行在自己的虚拟机上。

Javascript是dynamicinput,解释并在浏览器中运行的。 它也有一stream的function和匿名的function,而Java并没有。 它可以直接访问网页元素,这对于进行客户端处理非常有用。

它们在语法上也有些相似,但是就这一点而言。

不要与名称混淆..
Java是在Sun Microsystems(现在是Oracle)上创build的。
但是,JavaScript是在networking初期在Netscape(现在是Mozilla)上创build的,从技术上讲,“Java-Script”是Sun Microsystems授权使用的用于描述Netscape语言实现的商标。 Netscape向ECMA(欧洲计算机制造商协会)提交了标准化语言,由于商标问题,该语言的标准化版本被尴尬的名称“ECMAScript”所困住。出于同样的商标原因,微软版本的语言是正式的作为“JScript”。实际上,几乎每个人都会调用JavaScript语言。 真名是“ECMAScript”。

两者都是完全不同的语言!

实际上,世界上每台电脑都至less安装一个JavaScript解释器。

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

Mozilla团队(他们让Firefox) 重新介绍Javascript应该解释一下。