比较一下 Java 和 JavaSciprt?
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?的更多相关文章
- java面试题总汇
coreJava部分 7 1.面向对象的特征有哪些方面? 7 2.作用域public,private,protected,以及不写时的区别? 7 3.String 是最基本的数据类型吗? 7 4.fl ...
- 收集了50道基础的java面试题
下面的内容是对网上原有的Java面试题集及答案进行了全面修订之后给出的负责任的题目和答案,原来的题目中有很多重复题目和无价值的题目,还有不少的参考答案也是错误的,修改后的Java面试题集参照了JDK最 ...
- 转:Java面试题集(1-50)
Java程序员面试题集(1-50) http://blog.csdn.net/jackfrued/article/details/17403101 一.Java基础部分 1.面向对象的特征有哪些方面? ...
- Java程序员面试题集(1-50)(转)
转:http://blog.csdn.net/jackfrued/article/details/17339393 下面的内容是对网上原有的Java面试题集及答案进行了全面修订之后给出的负责任的题目和 ...
- Java面试题集(1-50)
下面的内容是对网上原有的面试题集及答案进行了全面修订之后的内容(原来的题目有很多重复无用的题以及错误的答案),参照了JDK最新版本,删除了重复题目以及EJB2.x等无用内容,补充最新面试题.知识点巩固 ...
- JAVA基础经典面试
[前言] 整理好久,这篇总结写的超级好,很全面.要全部背下来,至于框架应用那块,一定要有针对的,多写项目,照着慕课的对应项目. 链接:http://www.importnew.com/22083.ht ...
- java面试题复习(四)
31.内部类可以引用它的外部类的私有成员吗? 可以,内部类对象可以访问创建它的外部类对象的成员 32.final关键字有哪些用法? 修饰类时该类不能被继承,修饰方法时,该方法不能被重写,修饰变量时表示 ...
- 整理+学习《骆昊-Java面试题全集(上)》
★可以关注微信公众号,了解更多技术和行业信息 2013年年底的时候,我看到了网上流传的一个叫做<Java面试题大全>的东西,认真的阅读了以后发现里面的很多题目是重复且没有价值的题目,还有不 ...
- java相关知识点
Java基础.语法 1. 简述Java跨平台原理 2. Java的安全性 3. Java三大版本 4. 什么是JVM?什么是JDK? 什么是JRE? 5. Java三种注释类型 6. 8种基本数据类型 ...
随机推荐
- C#的in/out关键字与协变逆变
C#提供了一组关键字in&out,在泛型接口和泛型委托中,若不使用关键字修饰类型参数T,则该类型参数是不可变的(即不允许协变/逆变转换),若使用in修饰类型参数T,保证"只将T用于输 ...
- 公司正在开发BI系统?这些设计要素请了解一下!
1. 数据源 第一个要素数据源.企业中的BI工具可能承接上游数据中台或者其他产品输出的结果,作为输入的数据源,每个业务方用的数据库都可能是不一样的,所以可接入数据源的种类决定的一个BI工具的可用性, ...
- 【C# 线程】编译器代码优化技术 循环提升:Loop Hoisting
转载自:https://gandalfliang.github.io/2019/01/15/loop-hoisting/ Loop Hoisting 在上篇文章中,提到 Loop Hoisting , ...
- N种排序算法
本文根据<算法(第4版)>和<算法图解>整理.文中代码使用python编写. (一)选择排序 每次遍历整个数组,选出其中最小值.如果数组长度为n,则需要(n-1)+(n-2)+ ...
- Chrome:开发者模式下js文件中代码显示在一行的解决方法
比如我随便打开一个js文件,可以发现它的代码都挤在一行中,这对我们查找一些变量很不友好 解决方式:点击图中标红的那个按钮就可以了
- JZ-060-把二叉树打印成多行
把二叉树打印成多行 题目描述 从上到下按层打印二叉树,同一层结点从左至右输出.每一层输出一行. 题目链接: 把二叉树打印成多行 代码 import java.util.ArrayList; impor ...
- js数组用法
去面试的时候问到我一个问题,你能说出来多少种数组的方法跟用法,我当时只说出来十一个,回来以后才想起来还有很多种,现在整理一下,没有排名,想起那个写那个 1:forEach 从头遍历数组,没有返回值,有 ...
- keepass实践
参考软件教程 篇一:从入门到熟练:KeePass全网最详使用指南 运行之后快到来不及截图,就是这么速
- 【笔记】封神榜游戏设计VR
一.添加怪物(这个教程的鬼兵我可以用)1.设置怪物出生点.2.创建一个新脚本-CreateMonster,写好脚本之后放到3个传送门上.3.然后添加完成后,给三个添加Audio Source组件4.可 ...
- CacheManager Net Core Redis 缓存
using CacheManager.Core; using System; using System.Collections.Generic; using System.Text; namespac ...