今天来简单而又详细地说说JavaScript和Java的关系.
开门见山总结性一句话,它们之间的关系 = 雷锋和雷峰塔之间的关系,换句话说:它们之间没什么关系。
但往往有不少初学者甚至中级者认为它们之间有密切的关系,这很让人无语。
个人认为如果不分辨清楚,Java学得越好的初学者,对于JavaScript就会学得越糟。因为在一张白纸上好画图,在一张花纸上就很难再画图了。
比较 | JavaScript | Java |
诞生时间 | 1995年 | 1995年 |
曾用名 | Mocha, LiveScript | Oak |
母公司 | 网景公司(美国) | 太阳微系统公司(美国) |
主要作者 | Brendan Eich 一个人 | James Gosling及其小伙伴 |
开发完成时间 | 前前后后共10天 | 前前后后一、二年 |
是否面向对象? | 是,基于原型和原型链方式 | 是,基于类和继承的方式 |
可以采用的编程风格 | 面向过程、面向对象、面向函数 | 面向过程、面向对象,Java8之后加入了部分面向函数的特点 |
语言类型 | 动态语言、弱类型 | 静态语言、强类型 |
可否用于客服端开发? | 可以,主要用于浏览器端 | 可以,但在桌面端应用的争夺中彻底输给了微软的VS.Net系列 |
可否用于手机端开发? | 可以,叫Web App | 可以,叫Android(安卓) |
类库和框架数量如何?社区表现如何? | 非常多,非常丰富,非常活跃 | 比较多,比较丰富,比较活跃 |
现在的主人 | 全天JavaScript开源社区 | Oracle公司(美国) |
对初学者学习的难度? | 上手快,学会很容易,学精通很不容易 | 上手慢,学会可能慢一点,学精通也很不容易 |
体系结构 | 本质上精简、但现在衍生出的类库、框架越来越多,让人目不暇接 | 一直都比较庞大、庞杂。 |
是否跨平台? | 是(全世界几乎所有的浏览器都支持,如果不支持,就几乎没人用) | 是(只要安装了Java虚拟机的电脑都可以运行) |
编译型还是解释型? | 解释型,但某些常用代码可以被编译成本地代码 | 先编译成字节码,再通过虚拟机解释执行 |
哪个更强大? | 无法笼统回答,JavaScript高手比Java低手强大 | 无法笼统回答,Java高手比JavaScript低手强大 |
哪个和H5的结合更紧密? | JavaScript | |
中国的大部分学校里主要教哪个? | Java |