JavaScript 与 Java 是两个公司开发的不同的两个产品。Java 是原 Sun

Microsystems 公司推出的面向对象的程序设计语言,特别适合于互联网应用程序

开发;而 JavaScript 是 Netscape 公司的产品,为了扩展 Netscape 浏览器的功

能而开发的一种可以嵌入 Web 页面中运行的基于对象和事件驱动的解释性语言。

JavaScript 的前身是 LiveScript;而 Java 的前身是 Oak 语言。

下面对两种语言间的异同作如下比较:

基于对象和面向对象:Java 是一种真正的面向对象的语言,即使是开发

简单的程序,必须设计对象;JavaScript 是种脚本语言,它可以用来制作与网络

无关的,与用户交互作用的复杂软件。它是一种基于对象(Object-Based)和第 253 页 共 485 页

事件驱动(Event-Driven)的编程语言,因而它本身提供了非常丰富的内部对

象供设计人员使用。

解释和编译:Java 的源代码在执行之前,必须经过编译。JavaScript 是

一种解释性编程语言,其源代码不需经过编译,由浏览器解释执行。(目前的浏

览器几乎都使用了 JIT(即时编译)技术来提升 JavaScript 的运行效率)

强类型变量和类型弱变量:Java 采用强类型变量检查,即所有变量在编

译之前必须作声明;JavaScript 中变量是弱类型的,甚至在使用变量前可以不作

声明,JavaScript 的解释器在运行时检查推断其数据类型。

代码格式不一样。

补充:上面列出的四点是网上流传的所谓的标准答案。其实 Java 和 JavaScript

最重要的区别是一个是静态语言,一个是动态语言。目前的编程语言的发展趋势

是函数式语言和动态语言。在 Java 中类(class)是一等公民,而 JavaScript 中

函数(function)是一等公民,因此 JavaScript 支持函数式编程,可以使用 Lambda

函数和闭包(closure),当然 Java 8 也开始支持函数式编程,提供了对 Lambda

表达式以及函数式接口的支持。对于这类问题,在面试的时候最好还是用自己的

语言回答会更加靠谱,不要背网上所谓的标准答案。

比较一下 Java 和 JavaSciprt?的更多相关文章

  1. java面试题总汇

    coreJava部分 7 1.面向对象的特征有哪些方面? 7 2.作用域public,private,protected,以及不写时的区别? 7 3.String 是最基本的数据类型吗? 7 4.fl ...

  2. 收集了50道基础的java面试题

    下面的内容是对网上原有的Java面试题集及答案进行了全面修订之后给出的负责任的题目和答案,原来的题目中有很多重复题目和无价值的题目,还有不少的参考答案也是错误的,修改后的Java面试题集参照了JDK最 ...

  3. 转:Java面试题集(1-50)

    Java程序员面试题集(1-50) http://blog.csdn.net/jackfrued/article/details/17403101 一.Java基础部分 1.面向对象的特征有哪些方面? ...

  4. Java程序员面试题集(1-50)(转)

    转:http://blog.csdn.net/jackfrued/article/details/17339393 下面的内容是对网上原有的Java面试题集及答案进行了全面修订之后给出的负责任的题目和 ...

  5. Java面试题集(1-50)

    下面的内容是对网上原有的面试题集及答案进行了全面修订之后的内容(原来的题目有很多重复无用的题以及错误的答案),参照了JDK最新版本,删除了重复题目以及EJB2.x等无用内容,补充最新面试题.知识点巩固 ...

  6. JAVA基础经典面试

    [前言] 整理好久,这篇总结写的超级好,很全面.要全部背下来,至于框架应用那块,一定要有针对的,多写项目,照着慕课的对应项目. 链接:http://www.importnew.com/22083.ht ...

  7. java面试题复习(四)

    31.内部类可以引用它的外部类的私有成员吗? 可以,内部类对象可以访问创建它的外部类对象的成员 32.final关键字有哪些用法? 修饰类时该类不能被继承,修饰方法时,该方法不能被重写,修饰变量时表示 ...

  8. 整理+学习《骆昊-Java面试题全集(上)》

    ★可以关注微信公众号,了解更多技术和行业信息 2013年年底的时候,我看到了网上流传的一个叫做<Java面试题大全>的东西,认真的阅读了以后发现里面的很多题目是重复且没有价值的题目,还有不 ...

  9. java相关知识点

    Java基础.语法 1. 简述Java跨平台原理 2. Java的安全性 3. Java三大版本 4. 什么是JVM?什么是JDK? 什么是JRE? 5. Java三种注释类型 6. 8种基本数据类型 ...

随机推荐

  1. 突破限制,CSS font-variation 可变字体的魅力

    今天,在 CodePen 上看到一个很有意思的效果 -- GSAP 3 ETC Variable Font Wave,借助了 JS 动画库 GSAP 实现,一起来看看: 我寻思着能否使用 CSS 复刻 ...

  2. Java并发杂谈(一):volatile的底层原理,从字节码到CPU

    volatile的特性 volatile是Java中用于修饰变量的关键字,其主要是保证了该变量的可见性以及顺序性,但是没有保证原子性:其是Java中最为轻量级的同步关键字: 接下来我将会一步步来分析v ...

  3. 为什么说国产BI更适合国内企业?

    ​就算国外BI发展迅速,产品更加完善成熟,但对国内的企业来说,使用起来难免"水土不服",何况还有服务对接过程中的繁琐程.今天就来讨论一下,国内BI和国外BI到底该怎么选择? 国外B ...

  4. 从菜鸟到高手, HMS Core图像分割服务教你如何在复杂背景里精细抠图

    2021年以来,自动驾驶赛道进入爆发期,该行业成为大厂以及初创企业的必争之地.其中众多公司都采用了计算机视觉作为自动驾驶的技术底座,通过图像分割技术,汽车才能够有效理解道路场景,分清楚哪里是路,哪里是 ...

  5. yaml文件学习笔记

    01 介绍 YAML 是 "YAML Ain't Markup Language" 的递归缩写.在开发的这种语言时,YAML 的意思其实是:"Yet Another Ma ...

  6. 使用kind快速搭建本地k8s集群

    Kind是什么? k8s集群的组成比较复杂,如果纯手工部署的话易出错且时间成本高.而本文介绍的Kind工具,能够快速的建立起可用的k8s集群,降低初学者的学习门槛. Kind是Kubernetes I ...

  7. Pandas:从CSV中读取一个含有datetime类型的DataFrame、单项时间数据获取

    前言 有一个CSV文件test.csv,其中有一列是datetime类型,其他列是数值列,就像下边这样: 问题 1.读取该CSV文件,把datetime列转换为datetime类型,并将它设置为索引列 ...

  8. pandas模块补充

    数据分析模块pandas和matplotlib补充 面向百度式编程 面向百度式工作 遇到没有见过的知识点或者是相关知识点一定不要慌,结合百度和已知的知识点去学习 pandas模块补充 基于numpy构 ...

  9. 图解大数据 | 海量数据库查询-Hive与HBase详解

    作者:韩信子@ShowMeAI 教程地址:http://www.showmeai.tech/tutorials/84 本文地址:http://www.showmeai.tech/article-det ...

  10. 如何构建一个PKM系统

    原文链接 这篇文章是个人知识总结相关的第一篇文章,主要目的是为了阐述我们为什么需要一个 PKM 系统,并且简单对自己这几年亲身形成的PKM 系统进行总结. PKM 是什么? PKM 是 Persona ...