什么';JavaScript和Java的区别是什么?

什么';JavaScript和Java的区别是什么?,java,javascript,Java,Javascript,JavaScript和Java有什么区别?一切。它们是不相关的语言。一切 JavaScript被Netscape以这种方式命名,目的是让粗心的人误以为它与当今流行的Java有关,结果它成功了 这两种语言完全不同。Java和Javascript类似,就像汽车和地毯一样。这两种语言之间有一些不同之处: Java是一种静态类型语言;JavaScript是动态的 Java是基于类的;JavaScript是基于原型的 Java构造函数是只能在对象创建时调用的特殊函数;JavaScript“构造函数”只是

JavaScript和Java有什么区别?

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

一切

JavaScript被Netscape以这种方式命名,目的是让粗心的人误以为它与当今流行的Java有关,结果它成功了


这两种语言完全不同。

Java和Javascript类似,就像汽车和地毯一样。

这两种语言之间有一些不同之处:

  • Java是一种静态类型语言;JavaScript是动态的
  • Java是基于类的;JavaScript是基于原型的
  • Java构造函数是只能在对象创建时调用的特殊函数;JavaScript“构造函数”只是标准函数
  • Java要求所有非块语句以分号结尾;JavaScript在某些行的末尾插入分号
  • Java使用基于块的作用域;JavaScript使用基于函数的作用域
  • 对于非静态方法,Java有一个隐式的
    this
    作用域和隐式的类作用域;JavaScript具有隐式全局作用域
以下是一些我认为是JavaScript特别强大的功能:

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

One本质上是一个玩具,专为编写小块代码而设计,传统上被缺乏经验的程序员使用和滥用


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

它们是独立的语言,具有不相关的血统。Brendan Eich最初在Netscape创建Javascript。它最初被称为摩卡咖啡。如果愿意的话,选择Javascript作为名称是对当时方兴未艾的Java编程语言的认可,该语言由Patrick Nouton、James Gosling等人在Sun开发。

Javascript是一种面向对象的脚本语言,允许您创建动态HTML页面,允许您处理输入数据和维护数据,通常在浏览器中

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

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

此外,这直接来自维基百科:

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

看一看

尽管名称不同,JavaScript本质上与Java编程语言无关,尽管两者都有通用的C语法,JavaScript复制了许多Java名称和命名约定。该语言最初命名为“LiveScript”,但在Netscape和Sun之间的一项联合营销协议中被重命名,作为交换,Netscape将Sun的Java运行时与当时占主导地位的浏览器捆绑在一起。JavaScript中的关键设计原则继承自Self和Scheme编程语言


他们彼此无关

Java是静态类型的,在自己的VM上编译和运行

Javascript是在浏览器中动态键入、解释和运行的。它还具有一级函数和匿名函数,而Java没有。它可以直接访问web页面元素,这使得它对客户端处理非常有用


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

正如大家所说,它们几乎完全不同


然而,如果您的Java应用程序需要脚本语言,Javascript实际上是一个非常好的选择。有很多方法可以让Javascript在JVM中运行,一旦这样做,您就可以非常无缝地访问和操作Java类

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

  • Java一开始看起来不错,后来变得很烦人
  • JavaScript一开始看起来很糟糕,毫无希望,但渐渐地,你真的开始喜欢它了

(但这可能更多的是因为我更喜欢函数式编程而不是面向对象编程…;)

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

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

Mozilla团队(他们生产Firefox)应该对此做出解释。



不要与名字混淆。
Java是由Sun Microsystems(现在的Oracle)创建的。
但是,JavaScript是网景公司(现在的Mozilla)在Web的早期创建的,从技术上讲,“Java脚本”是Sun Microsystems授权的商标,用于描述 Netscape的语言实现。Netscape提交了 ECMA(欧洲计算机制造商协会)标准化语言 因为商标