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,包括创建和修改等。

相关文章
|
4天前
|
存储 缓存 安全
java 中操作字符串都有哪些类,它们之间有什么区别
Java中操作字符串的类主要有String、StringBuilder和StringBuffer。String是不可变的,每次操作都会生成新对象;StringBuilder和StringBuffer都是可变的,但StringBuilder是非线程安全的,而StringBuffer是线程安全的,因此性能略低。
|
19天前
|
设计模式 JavaScript 前端开发
js中new和object.creat区别
【10月更文挑战第29天】`new` 关键字和 `Object.create()` 方法在创建对象的方式、原型链继承、属性初始化以及适用场景等方面都存在差异。在实际开发中,需要根据具体的需求和设计模式来选择合适的方法来创建对象。
|
21天前
|
Java
Java代码解释++i和i++的五个主要区别
本文介绍了前缀递增(++i)和后缀递增(i++)的区别。两者在独立语句中无差异,但在赋值表达式中,i++ 返回原值,++i 返回新值;在复杂表达式中计算顺序不同;在循环中虽结果相同但使用方式有别。最后通过 `Counter` 类模拟了两者的内部实现原理。
Java代码解释++i和i++的五个主要区别
|
29天前
|
Java
通过Java代码解释成员变量(实例变量)和局部变量的区别
本文通过一个Java示例,详细解释了成员变量(实例变量)和局部变量的区别。成员变量属于类的一部分,每个对象有独立的副本;局部变量则在方法或代码块内部声明,作用范围仅限于此。示例代码展示了如何在类中声明和使用这两种变量。
|
1月前
|
存储 JavaScript 前端开发
JavaScript 数据类型详解:基本类型与引用类型的区别及其检测方法
JavaScript 数据类型分为基本数据类型和引用数据类型。基本数据类型(如 string、number 等)具有不可变性,按值访问,存储在栈内存中。引用数据类型(如 Object、Array 等)存储在堆内存中,按引用访问,值是可变的。本文深入探讨了这两种数据类型的特性、存储方式、以及检测数据类型的两种常用方法——typeof 和 instanceof,帮助开发者更好地理解 JavaScript 内存模型和类型检测机制。
76 0
JavaScript 数据类型详解:基本类型与引用类型的区别及其检测方法
|
2月前
|
Java
java基础(4)public class 和class的区别及注意事项
本文讲解了Java中`public class`与`class`的区别和注意事项。一个Java源文件中只能有一个`public class`,并且`public class`的类名必须与文件名相同。此外,可以有多个非`public`类。每个类都可以包含一个`main`方法,作为程序的入口点。文章还强调了编译Java文件生成`.class`文件的过程,以及如何使用`java`命令运行编译后的类。
42 3
java基础(4)public class 和class的区别及注意事项
|
1月前
|
Java
Java基础之 JDK8 HashMap 源码分析(中间写出与JDK7的区别)
这篇文章详细分析了Java中HashMap的源码,包括JDK8与JDK7的区别、构造函数、put和get方法的实现,以及位运算法的应用,并讨论了JDK8中的优化,如链表转红黑树的阈值和扩容机制。
27 1
|
1月前
|
存储 JavaScript 前端开发
js中函数、方法、对象的区别
js中函数、方法、对象的区别
16 2
|
1月前
|
Java 编译器 C语言
【一步一步了解Java系列】:探索Java基本类型与C语言的区别
【一步一步了解Java系列】:探索Java基本类型与C语言的区别
45 2
|
1月前
|
存储 缓存 Java
【用Java学习数据结构系列】HashMap与TreeMap的区别,以及Map与Set的关系
【用Java学习数据结构系列】HashMap与TreeMap的区别,以及Map与Set的关系
38 1
下一篇
无影云桌面