JavaScript 与Java是两个公司开发的不同的两个产品。Java 是原Sun Microsystems公司推出的面向对象的程序设计语言,特别适合于互联网应用程序开发;而JavaScript是Netscape公司的产品,为了扩展Netscape浏览器的功能而开发的一种可以嵌入Web页面中运行的基于对象和事件驱动的解释性语言。JavaScript的前身是LiveScript;而Java的前身是Oak语言。
下面对两种语言间的异同作如下比较:
基于对象和面向对象:Java是一种真正的面向对象的语言,即使是开发简单的程序,必须设计对象;JavaScript是种脚本语言,它可以用来制作与网络无关的,与用户交互作用的复杂软件。它是一种基于对象(Object-Based)和事件驱动(Event-Driven)的编程语言,因而它本身提供了非常丰富的内部对象供设计人员使用。
解释和编译:Java的源代码在执行之前,必须经过编译。JavaScript是一种解释性编程语言,其源代码不需经过编译,由浏览器解释执行。(目前的浏览器几乎都使用了JIT(即时编译)技术来提升JavaScript的运行效率)
强类型变量和类型弱变量:Java采用强类型变量检查,即所有变量在编译之前必须作声明;JavaScript中变量是弱类型的,甚至在使用变量前可以不作声明,JavaScript的解释器在运行时检查推断其数据类型。
代码格式不一样。
补充:上面列出的四点是网上流传的所谓的标准答案。其实Java和JavaScript最重要的区别是一个是静态语言,一个是动态语言。目前的编程语言的发展趋势是函数式语言和动态语言。在Java中类(class)是一等公民,而JavaScript中函数(function)是一等公民,因此JavaScript支持函数式编程,可以使用Lambda函数和闭包(closure),当然Java 8也开始支持函数式编程,提供了对Lambda表达式以及函数式接口的支持。对于这类问题,在面试的时候最好还是用自己的语言回答会更加靠谱,不要背网上所谓的标准答案。
由于JavaScript和Java语言名字的相似,让大部分同学认为JavaScript与Java语言有一定的关联性。但它们并不像我们想象的那样联系紧密,甚至可以肯定地说它们有很大的区别.。
1.语言本质不同。
JavaScript 是一种轻量级的编程语言,是可插入 HTML 页面的编程代码,插入 HTML 页面后,可由所有的现代浏览器执行。
Java是一种通过解释方式来执行的语言。
2.数据类型不同。
Java数据类型有:int、double、char、Boolean等。
JavaScript数据类型有:number、string、Boolean等。
3.应用范围不同。
Java广泛用于PC端、手机端、互联网、数据中心等。
JavaScript主要用于嵌入文本到HTML页面中,进行读写HTML,控制cookies等。
综上所述,我们可以发现JavaScript与Java虽然都可以应用于网页设计,但实际上它们是两种语言。
JavaScript 是一种嵌入式脚本文件,直接插入网页,有浏览器一边解释一边执行。
java 语言不一样,他必须在JAVA虚拟机上运行。而且事先需要进行编译。
JAVA的语法规则比JavaScript要严格的多,功能要强大的多。
JavaScript是Java语言的一个分支,功能有限,
是父与子的关系,
如果语法上有所出入,那也是你使用的编译器在动手脚,
例如IE理解JS与JAVA虚拟机理解可能就会有出入,
就是说,如果全部用JAVA官方的编译器或开发工具,
它们是没有区别的,
希望对你有所帮助,上面文字是打上来的非复制,
理解也是我javaScript 是基于web的 为了扩展HTML
他引用了JAVA的语法而已
自己的理解,如果误导了你,还请原谅
很多人看到 Java 和 JavaScript(js) 都有“Java”四个字,就以为它们是同一样东西,连我自己当初也是这样。
其实它们是完完全全不同的两种东西。
Java,全称应该是 Java Applet,是嵌在网页中,而又有自己独立的运行窗口的小程序。
Java Applet 是预先编译好的,一个Applet 文件(.class)用 Notepad 打开阅读,根本不能理解。Java Applet 的功能很强大,可以访问 http、ftp等协议,甚至可以在电脑上种病毒(已有先例了)。
相比之下,JavaScript 的能力就比较小了。JavaScript 是一种“脚本”(“Script”),它直接把代码写到 HTML文档中,浏览器读取它们的时候才进行编译、执行,所以能查看 HTML 源文件就能查看JavaScript 源代码。JavaScript 没有独立的运行窗口,浏览器当前窗口就是它的运行窗口。
它们的相同点,我想只有同是以 Java 作编程语言一点了。
Java 和 JavaScript 是两门不同的编程语言。
一般认为,当时 Netscape 之所以将 LiveScript 命名为 JavaScript,是因为 Java 是当时最流行的编程语言,带有 "Java" 的名字有助于这门新生语言的传播。
它们的相同之处包括:
它们的语法和 C 语言都很相似;
它们都是面向对象的(虽然实现的方式略有不同);
JavaScript 在设计时参照了 Java 的命名规则;
它们的不同之处包括:
JavaScript 是动态类型语言,而 Java 是静态类型语言;
JavaScript 是弱类型的,Java 属于强类型;
JavaScript 的面向对象是基于原型的(prototype-based)实现的,Java 是基于类(class-based)的;
JavaScript 除了长得和 Java 比较像之外,语言风格相去甚远。JavaScript 在设计时所参 考的对象不包括 Java,而包括了像 Self 和 Scheme 这样的语言。