java和JavaScript究竟什么关系,有什么样的区别

简介: 犹记得刚刚接触Java的时候,有一天突然看见了JavaScript,第一反应就是:这是什么?跟Java这么像,莫非它俩之间有什么不可告人的关系?

犹记得刚刚接触Java的时候,有一天突然看见了JavaScript,第一反应就是:这是什么?跟Java这么像,莫非它俩之间有什么不可告人的关系?


       这就得从他们诞生时开始说起:

      1994年的时候,网景公司(Netscape)发布了Navigator浏览器0.9版。这是历史上第一个比较成熟的网络浏览器,轰动一时。但是,这个版本的浏览器只能用来浏览,不具备与访问者互动的能力。因此,网景公司急需一种网页脚本语言,使得浏览器可以与网页互动。1995年Sun公司将Oak语言改名为Java,正式向市场推出,并且打出了“一次编写,到处运行(Write once,run anywhere)”的宣传口号。网景公司非常看好Java,决定与Sun公司结成联盟。仅一个月后,网景公司做出决定,未来的网页脚本语言,必须看上去与Java足够相似,但是比Java简单。程序员Brendan Eich被指定为这种“简化版Java语言”的设计师。如果你想学习Java可以来这个群,首先是二二零,中间是一四二,最后是九零六,里面可以学习和交流,也有学习资料可以下载。



  但是Brendan Eich对Java丝毫没有兴趣,用了10天时间就设计出了JavaScript。总体的设计思路是:(1)借鉴C语言的基本语法;(2)借鉴Java语言的数据类型和内存管理;(3)借鉴Scheme语言,将函数提升到“第一等公民”(first class)的地位;(4)借鉴Self语言,使用基于原型(prototype)的继承机制。也就是说,Java Script在设计时所参考的对象不包括 Java,而包括了像 Self 和 Scheme 这样的语言,它实际上是函数式编程和面向对象编程两种语言风格的混合产物。并且javascript最初的名字并不是javascript,而是LiveScript,名字中的“Java”是经过SUN Microsystems公司授权的。


       简单说java和JavaScript是两个不同的语言。


1 语言特点:

1.1 弱类型:

       JavaScript在变量声明的时候并不严格区分数据类型,(var 变量名),不像java那样严格(类型:变量名)。也就说,Javascript面前一切平等,在他眼里大家都是人,而在java就有所不同,男人、女人、什么的……

基于这个特性,javascript在很多时候会都可以写的比java简洁,比如函数的声明等。如果你想学习js可以来这个群291851189,可以交流学习

1.2 动态语言:

         java在定义了一个数组的长度以后就不能再改变了,但是javascript却可以。并且java一个数组只能放同一种类型,但javascript可以在一个数组内加不同数据类型的数据。可以说Java比较死心眼,javascript则比较灵活。

1.3 脚本语言:

       Java等后台语言都是编译后执行的,但是javascript却是边编译边执行。


2 数据类型

2.1 基础数据类型:

       Java有八大数据类型:byte,short,intlong,float,double,char,Boolean。感觉javascript把上面的整理成了三种原始类型:number,string,boolean。另外还有两个特殊的原始类型是:null和undefined。

2.2 变量

Java:数据类型 变量名=值;

Javascript:var 变量名=值;数组

Java:

类型[] 数组名=new 类型[数量];

类型[] 数组名=new 类型[]{元素1,元素2…};

Javascript:

var 数组名=[];

var 数组名=new Array();


3 函数:

       Java:返回值类型 函数名(类型 参数1,类型 参数2…){}

Javascript:function 函数名(参数1,参数2…){}


两者用途

       java广泛应用于个人PC、数据中心、游戏控制台、科学超级计算机、移动电话和互联网等。

       Javascript的用途是:1.嵌入动态文本于HTML页面;2.对浏览器事件做出响应; 3.读写HTML元素;4.在数据被提交到服务器之前验证数据;5.检测访客的浏览器信息; 6.控制cookies,包括创建和修改等。

相关文章
|
8天前
|
安全 算法 Java
Java 中 synchronized 与 AtomicInteger 的区别
在Java多线程编程中,`synchronized`和`AtomicInteger`均用于实现线程安全,但原理与适用场景不同。`synchronized`是基于对象锁的同步机制,适用于复杂逻辑和多变量同步,如银行转账;而`AtomicInteger`采用CAS算法,适合单一变量的原子操作,例如计数器更新。二者各有优劣,应根据具体需求选择使用。
26 0
|
3月前
|
JavaScript 前端开发 Java
通义灵码 Rules 库合集来了,覆盖Java、TypeScript、Python、Go、JavaScript 等
通义灵码新上的外挂 Project Rules 获得了开发者的一致好评:最小成本适配我的开发风格、相当把团队经验沉淀下来,是个很好功能……
929 103
|
4天前
|
存储 缓存 人工智能
Java int和Integer的区别
本文介绍了Java中int与Integer的区别及==与equals的比较机制。Integer是int的包装类,支持null值。使用==比较时,int直接比较数值,而Integer比较对象地址;在-128至127范围内的Integer值可缓存,超出该范围或使用new创建时则返回不同对象。equals方法则始终比较实际数值。
|
5天前
|
存储 缓存 JavaScript
在JavaScript中,Set和Map的性能有什么区别?
在JavaScript中,Set和Map的性能有什么区别?
27 0
|
1月前
|
存储 Java C语言
Java List 复制:浅拷贝与深拷贝方法及区别
我是小假 期待与你的下一次相遇 ~
|
26天前
|
算法 Java 数据库连接
Java 与 C++ 区别深入剖析及应用实例详解
本文深入剖析了Java和C++两种编程语言的区别,从编译与执行机制、面向对象特性、数据类型与变量、内存管理、异常处理等方面进行对比,并结合游戏开发、企业级应用开发、操作系统与嵌入式开发等实际场景分析其特点。Java以跨平台性强、自动内存管理著称,适合企业级应用;C++则因高性能和对硬件的直接访问能力,在游戏引擎和嵌入式系统中占据优势。开发者可根据项目需求选择合适语言,提升开发效率与软件质量。附面试资料链接:[点此获取](https://pan.quark.cn/s/4459235fee85)。
59 0
|
3月前
|
编解码 JavaScript 前端开发
【Java进阶】详解JavaScript的BOM(浏览器对象模型)
总的来说,BOM提供了一种方式来与浏览器进行交互。通过BOM,你可以操作窗口、获取URL、操作历史、访问HTML文档、获取浏览器信息和屏幕信息等。虽然BOM并没有正式的标准,但大多数现代浏览器都实现了相似的功能,因此,你可以放心地在你的JavaScript代码中使用BOM。
117 23
|
3月前
|
JavaScript 前端开发 Java
【Java进阶】详解JavaScript事件
总的来说,JavaScript事件是JavaScript交互设计的核心,理解和掌握JavaScript事件对于编写高效、响应式的网页应用至关重要。
68 15
|
3月前
|
前端开发 JavaScript Java
【Java进阶】JavaScript电灯开关实例:从理论到实践
这个例子展示了JavaScript的基本功能,包括操作HTML元素,监听事件,以及改变元素的样式。通过学习和理解这个例子,你可以了解到JavaScript在网页中的应用,以及如何使用JavaScript来创建交互式的网页。
70 13
|
2月前
|
Java
Java 中 Exception 和 Error 的区别
在 Java 中,`Exception` 和 `Error` 都是 `Throwable` 的子类,用于表示程序运行时的异常情况。`Exception` 表示可被捕获和处理的异常,分为受检异常(Checked)和非受检异常(Unchecked),通常用于程序级别的错误处理。而 `Error` 表示严重的系统级问题,如内存不足或 JVM 错误,一般不建议捕获和处理。编写程序时应重点关注 `Exception` 的处理,确保程序稳定性。

热门文章

最新文章