javascript是基于对象,而java是面向对象
所有面向对象编程语言都支持三个概念:封装、多态性和继承
java的特点就是
1面向对象
2可移植性
3安全性
4并发机制
5支持可视化图形界面
JavaScript语言和Java语言是相关的,但它们之间的联系并不像想象中的那样紧密。
二者的区别体现在:
首先,它们是两个公司开发的不同的两个产品,Java是SUN公司推出的新一代面向对象的程序设计语言,特别适合于Internet应用程序开发;而JavaScript是Netscape公司的产品,其目的是为了扩展Netscape Navigator功能,而开发的一种可以嵌入Web页面中的基于对象和事件驱动的解释性语言。
其次,JavaScript是基于对象的,而Java是面向对象的,即Java是一种真正的面向对象的语言,即使是开发简单的程序,必须设计对象。JavaScript是种脚本语言,它可以用来制作与网络无关的,与用户交互作用的复杂软件。它是一种基于对象和事件驱动的编程语言。因而它本身提供了非常丰富的内部对象供设计人员使用。
第三,两种语言在其浏览器中所执行的方式不一样。Java的源代码在传递到客户端执行之前,必须经过编译,因而客户端上必须具有相应平台上的仿真器或解释器,它可以通过编译器或解释器实现独立于某个特定的平台编译代码的束缚。JavaScript是一种解释性编程语言,其源代码在发往客户端执行之前不需经过编译,而是将文本格式的字符代码发送给客户,由浏览器解释执行。
第四,两种语言所采取的变量是不一样的。Java采用强类型变量检查,即所有变量在编译之前必须作声明。JavaScript中变量声明,采用其弱类型。即变量在使用前不需作声明,而是解释器在运行时检查其数据类型。
第五,代码格式不一样。Java是一种与HTML无关的格式,必须通过像HTML中引用外媒体那么进行装载,其代码以字节代码的形式保存在独立的文档中。JavaScript的代码是一种文本字符格式,可以直接嵌入HTML文档中,并且可动态装载。编写HTML文档就像编辑文本文件一样方便。
第六,嵌入方式不一样。在HTML文档中,两种编程语言的标识不同,JavaScript使用 <script>...</script>来标识,而Java使用<applet>... </applet>来标识。
第七,静态绑定和动态绑定。Java采用静态联编,即Java的对象引用必须在编译时的进行,以使编译器能够实现强类型检查。JavaScript采用动态联编,即JavaScript的对象引用在运行时进行检查,如不经编译则就无法实现对象引用的检查。
首先你没理解好javascript,Javascript的一个重要功能就是基于对象的功能,通过基于对象的程序设计,可以用更直观、模块化和可重复使用的方式进行程序开发。开发目的是为了可以嵌入Web页面中的基于对象和事件驱动的解释性语言, 并非面向对象。
因为javascript是弱类型语言,所以没有那些成熟的语言那么拘谨,约束不多,反而让它强大,为什么有很多非常聪明的编程人员喜欢研究、开发javascript架包的原因。
因为javascript是弱类型语言.不像c++,C#,java这类型语言!他不支持函数方法重载.你之前写一个方法.后面再写一个相同名字的方法他默认会把上一个方法覆盖掉!这种情况和PHP中相同!
他不像是高等语言支持函数重载.根据不同的参数.返回值调用不同的方法!
他也可以写成类,方法,属性.但是和其它的语言稍有不同!比如
var cls={
my:{a:0},
init:function()
{
alert(this.my.a)
}
}
window.onload=function()
{
cls.init()
}
调用cls.init()
这就是他的类,但是缺少了好多面向对象的一些特性
当然要做到继承还是有可能,那就是通过原型,但是费尽心思去实现了继承,可是还不能说它是面向对象,而面向对象可以很容易做到封装、多态性和继承
关于js中实例和对象的解释如下:比如定义persion如下:
var person = new Object()
var person = {}
JS 是基于原型的面向对象语言, 所有数据都可以当作对象处理,所以 person 是对象, 可以把它当作是 Object 的实例. 当然, 一切都是对象。
第二个采用对象字面量的方式生成的person也是如此。
然而它内部没有调用new Object(),而是采用JSON的初始化方式:
将现有的引用指向person。
实例和对象的区别,从定义上来讲:
1、实例是类的具象化产品,
2、而对象是一个具有多种属性的内容结构。
实例都是对象,而对象不全是实例。
Js里面没有类(ES6以前)的语法,所以类的概念就通过创造一个对象来实现。