1 JavaScript 中支持面向对象的基础 6
1 用定义函数的方式定义类 在面向对象的思想中,最核心的概念之一就是类
一个类表示了具有相似性质的一类事物的抽象,通过实例化一个类,可以获得属于该类的一个实例,即对象
在 JavaScript 中定义一个类的方法如下: function class1(){ //类成员的定义及构造函数 } 这里class1 既是一个函数也是一个类
可以将它理解为类的构造函数,负责初始化工作
2 使用new 操作符获得一个类的实例 在前面介绍基本对象时,已经用过new 操作符,例如: new Date(); 表示创建一个日期对象,而Date 就是表示日期的类,只是这个类是由JavaScript 内部提供的,而不是由用户定义的
new 操作符不仅对内部类有效,对用户定义的类也同样有效,对于上节定义的class1,也可以用new 来获取一个实例: function class1(){ //类成员的定义及构造函数 } var obj1=new class1(); 抛开类的概念,从代码的形式上来看,class1就是一个函数,那么是不是所有的函数都可以用new来操作呢
是的,在 JavaScript中,函数和类就是一个概念,当对一个函数进行new 操作时,就会返回一个对象
如果这个函数中没有初始化类成员,那就会返回一个空的对象
例如: //定义一个hello 函数 function hello(){ alert("hello"); } //通过new 一个函数获得一个对象 var obj=new hello(); alert(typeof(obj)); 从运行结果看,执行了hello 函数,同时obj 也获得了一个对象的引用
当new 一个函数时,这个函数就是所代表类的构造函数,其中的代码被看作为了初始化一个对象
用于表示类的