JavaScript 和 Java 的区别浅析


Posted in Javascript onJuly 31, 2013

下面对两种语言间的异同作如下比较:
1.基于对象和面向对象
Java是一种真正的面向对象的语言,即使是开发简单的程序,必须设计对象。JavaScript是种脚本语言,它可以用来制作与网络无关的,与用户交互作用的复杂软件。它是一种基于对象(Object Based)和事件驱动(Event Driver)的编程语言。因而它本身提供了非常丰富的内部对象供设计人员使用。
2.解释和编译
两种语言在其浏览器中所执行的方式不一样。Java的源代码在传递到客户端执行之前,必须经过编译,因而客户端上必须具有相应平台上的仿真器或解释器,它可以通过编译器或解释器实现独立于某个特定的平台编译代码的束缚。
JavaScript是一种解释性编程语言,其源代码在发往客户端执行之前不需经过编译,而是将文本格式的字符代码发送给客户编由浏览器解释执行。
3.强变量和弱变量
两种语言所采取的变量是不一样的。Java采用强类型变量检查,即所有变量在编译之前必须作声明。如:

Integer x; 
String y; 
x=1234; 
x=4321;

其中X=1234说明是一个整数,Y=4321说明是一个字符串。JavaScript中变量声明,采用其弱类型。即变量在使用前不需作声明,而是解释器在运行时检查其数据类型,如:
x=1234; 
y="4321";

前者说明x为其数值型变量,而后者说明y为字符型变量。
4.代码格式不一样
Java是一种与HTML无关的格式,必须通过像HTML中引用外媒体那么进行装载,其代码以字节代码的形式保存在独立的文档中。JavaScript的代码是一种文本字符格式,可以直接嵌入HTML文档中,并且可动态装载。编写HTML文档就像编辑文本文件一样方便。
5.嵌入方式不一样
在HTML文档中,两种编程语言的标识不同,JavaScript使用来标识,而Java使用来标识。
6.静态联编和动态联编
Java采用静态联编,即Java的对象引用必须在编译时的进行,以使编译器能够实现强类型检查。JavaScript采用动态联编,即JavaScript的对象引用在运行时进行检查,如不经编译则就无法实现对象引用的检查。
Javascript 相关文章推荐
jQuery 页面 Mask实现代码
Jan 09 Javascript
jquery实现的让超出显示范围外的导航自动固定屏幕最顶上
Sep 22 Javascript
JQuery入门——事件切换之toggle()方法应用介绍
Feb 05 Javascript
jQuery实用基础超详细介绍
Apr 11 Javascript
关闭浏览器窗口弹出提示框并且可以控制其失效
Apr 15 Javascript
AngularJS入门教程(二):AngularJS模板
Dec 06 Javascript
js实现页面跳转的五种方法推荐
Mar 10 Javascript
canvas实现图像布局填充功能
Feb 06 Javascript
vuejs2.0实现一个简单的分页示例
Feb 22 Javascript
vue+iview+less+echarts实战项目总结
Feb 22 Javascript
详解在vue-cli项目下简单使用mockjs模拟数据
Oct 19 Javascript
使用react render props实现倒计时的示例代码
Dec 06 Javascript
javascript检查表单数据是否改变的方法
Jul 30 #Javascript
JS 对输入框进行限制(常用的都有)
Jul 30 #Javascript
JS无限极树形菜单,json格式、数组格式通用示例
Jul 30 #Javascript
js中widow.open()方法使用详解
Jul 30 #Javascript
Extjs NumberField后面加单位实现思路
Jul 30 #Javascript
Js中获取frames中的元素示例代码
Jul 30 #Javascript
js中的屏蔽的使用示例
Jul 30 #Javascript
You might like
php实现文件下载实例分享
2014/06/02 PHP
一组PHP加密解密函数分享
2014/06/05 PHP
整理php防注入和XSS攻击通用过滤
2015/09/13 PHP
php使用get_class_methods()函数获取分类的方法
2016/07/20 PHP
javascript 密码强弱度检测万能插件
2009/02/25 Javascript
一个级联菜单代码学习及removeClass与addClass的应用
2013/01/24 Javascript
打造自己的jQuery插件入门教程
2016/09/23 Javascript
详解webpack es6 to es5支持配置
2017/05/04 Javascript
echarts实现地图定时切换散点与多图表级联联动详解
2018/08/07 Javascript
webpack实现一个行内样式px转vw的loader示例
2018/09/13 Javascript
使用vue中的混入mixin优化表单验证插件问题
2019/07/02 Javascript
[00:35]可解锁地面特效
2018/12/20 DOTA
Python Deque 模块使用详解
2014/07/04 Python
python+matplotlib实现礼盒柱状图实例代码
2018/01/16 Python
Selenium鼠标与键盘事件常用操作方法示例
2018/08/13 Python
理想高通滤波实现Python opencv示例
2019/01/30 Python
在python下使用tensorflow判断是否存在文件夹的实例
2019/06/10 Python
用python3读取python2的pickle数据方式
2019/12/25 Python
logging level级别介绍
2020/02/21 Python
Python 3.8 新功能来一波(大部分人都不知道)
2020/03/11 Python
Pycharm 如何一键加引号的方法步骤
2021/02/05 Python
CSS3实现DIV圆角效果完整代码
2012/10/10 HTML / CSS
HTML5 Blob 实现文件下载功能的示例代码
2019/11/29 HTML / CSS
华为c/c++笔试题
2016/01/25 面试题
linux面试题参考答案(10)
2013/11/04 面试题
学院书画协会部门职责
2013/11/28 职场文书
公司财务自我评价分享
2013/12/17 职场文书
秘书专业自荐信范文
2013/12/26 职场文书
成语的广告词
2014/03/19 职场文书
小学生国庆演讲稿
2014/09/05 职场文书
医德医魂心得体会
2014/09/11 职场文书
2014年语文教学工作总结
2014/12/17 职场文书
安全教育培训心得体会
2016/01/15 职场文书
Java比较两个对象中全部属性值是否相等的方法
2021/08/07 Java/Android
python在package下继续嵌套一个package
2022/04/14 Python
详解Anyscript开发指南绕过typescript类型检查
2022/09/23 Javascript