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. CUDA01 - 硬件架构、warp调度、指令流水线和cuda并发流

    这一部分打算从头记录一下CUDA的编程方法和一些物理架构上的特点:从硬件入手,写一下包括线程束的划分.流水线的调度等等微结构的问题,以及这些物理设备是如何与软件对应的.下一部分会写一下cuda中的几种 ...

  2. 【windows 访问控制】开篇、访问控制模型模型

    访问控制模型的各个部分 访问控制模型有两个基本部分: 访问令牌,其中包含有关已登录用户的信息 安全描述符,其中包含用于保护安全对象 的安全信息 用户登录时 ,系统会对用户 的帐户名和密码进行身份验证. ...

  3. 【C# IO 操作 】IFormatProvider接口|IFormattable 接口 格式化接口

    IFormatProvider接口获取一个满足要求的个格式化器. 方法 object? GetFormat(Type? formatType);GetFormat方法主要提供一个满足指定要求的对象,该 ...

  4. VirtualBox虚拟机--桥接模式

    问题概述:VirtualBox虚拟机设置桥接模式,与宿主机互相ping通. 注:如果按照以下方式设置了还是ping不通,查看虚拟机防火墙是否已关. 公司电脑拿去维修了,在自己家里电脑上部署项目开发环境 ...

  5. 9.resultMap元素

    resultMap 是 MyBatis 中最复杂的元素,主要用于解决实体类属性名与数据库表中字段名不一致的情况,可以将查询结果映射成实体对象.下面我们先从最简单的功能开始介绍. 现有的 MyBatis ...

  6. Wordpress Calendar Event Multi View < 1.4.01 反射型xss漏洞(CVE-2021-24498)

    简介 WordPress是Wordpress基金会的一套使用PHP语言开发的博客平台.该平台支持在PHP和MySQL的服务器上架设个人博客网站.WordPress 插件是WordPress开源的一个应 ...

  7. PHP防止订单超卖,秒杀,限购,PHP高并发防止超卖代码实践

    建表 1.订单表 CREATE TABLE `order` ( `id` int(11) NOT NULL AUTO_INCREMENT, `order_sn` varchar(45) NOT NUL ...

  8. tp5 Redis缓冲的设置与清除

    控制器代码: //设置缓冲的方法 public function order() { $word = input('word');//接受搜索值 //题意:将订单数据使用redis进行缓存中,第二次读 ...

  9. 浏览器中 Http缓存

    分类: web缓存主要有:数据库缓存.服务器缓存(代理服务器缓存.CDN缓存),浏览器缓存. 数据库缓存 当web应用的关系比较复杂,数据库中的表很多的时候,如果频繁进行数据库查询,很容易导致数据库不 ...

  10. LGP4451题解

    题意明确,不再阐述( 首先,众所周知的是 斐波那契数列 的生成函数是 \(F(x)=\frac x {1-x-x^2}\) 那么答案就是 \(\sum_{i=0} F^i(x) = \frac 1 { ...