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 相关文章推荐
基于prototype的validation.js发布2.3.4新版本,让你彻底脱离表单验证的烦恼
Dec 06 Javascript
Javascript 阻止javascript事件冒泡,获取控件ID值
Jun 27 Javascript
kindeditor编辑器点中图片滚动条往上顶的bug
Jul 05 Javascript
jQuery+AJAX实现遮罩层登录验证界面(附源码)
Sep 13 Javascript
JavaScript中获取纯正的undefined的方法
Mar 06 Javascript
懒加载实现的分页&&网站footer自适应
Dec 21 Javascript
JavaScript基础之this详解
Jun 04 Javascript
ES6扩展运算符的用途实例详解
Aug 20 Javascript
Vue导出页面为PDF格式的实现思路
Jul 31 Javascript
vue动态改变背景图片demo分享
Sep 13 Javascript
一文快速了解JQuery中的AJAX
May 31 jQuery
浅谈vue2的$refs在vue3组合式API中的替代方法
Apr 18 Vue.js
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
通过Email发送PHP错误的方法
2015/07/20 PHP
PHP中SESSION过期设置
2021/03/09 PHP
jQuery事件绑定.on()简要概述及应用
2013/02/07 Javascript
JavaScript中圆括号()和方括号[]的特殊用法疑问解答
2013/08/06 Javascript
jquery判断至少有一个checkbox被选中的方法
2015/06/05 Javascript
JS数组合并push与concat区别分析
2015/12/17 Javascript
jQuery EasyUI学习教程之datagrid点击列表头排序
2016/07/09 Javascript
javascript判断firebug是否开启的方法
2016/11/23 Javascript
Canvas实现动态的雪花效果
2017/02/13 Javascript
AngularJS中$http的交互问题
2017/03/29 Javascript
细说webpack源码之compile流程-rules参数处理技巧(2)
2017/12/26 Javascript
浅谈React组件之性能优化
2018/03/02 Javascript
微信小程序常见页面跳转操作简单示例
2019/05/01 Javascript
Vue+ElementUI 中级联选择器Bug问题的解决
2020/07/31 Javascript
Python转码问题的解决方法
2008/10/07 Python
Python设计模式之观察者模式实例
2014/04/26 Python
Python编程实现使用线性回归预测数据
2017/12/07 Python
Python异常继承关系和自定义异常实现代码实例
2020/02/20 Python
jupyter notebook快速入门及使用详解
2020/11/13 Python
Python读取图像并显示灰度图的实现
2020/12/01 Python
商务英语应届生自我鉴定
2013/12/08 职场文书
医药代表个人的求职信分享
2013/12/08 职场文书
跳蚤市场口号
2014/06/13 职场文书
合同意向书范本
2014/07/30 职场文书
德育标兵事迹材料
2014/08/24 职场文书
三方股份合作协议书
2014/10/13 职场文书
2015年行政人事工作总结
2015/05/21 职场文书
晚会开场白和结束语
2015/05/29 职场文书
八月迷情观后感
2015/06/11 职场文书
2015年暑期见闻
2015/07/14 职场文书
2015年办税服务厅工作总结
2015/07/23 职场文书
应收账款管理制度
2015/08/06 职场文书
管理者们如何制定2019年的工作计划?
2019/07/01 职场文书
python实现黄金分割法的示例代码
2021/04/28 Python
sql server删除前1000行数据的方法实例
2021/08/30 SQL Server
VUE之图片Base64编码使用ElementUI组件上传
2022/04/09 Vue.js