一,js使用函数来定义类而不是像别的编程语言一样通过关键字class来定义,通过类本身(this)和原型(prototype)来完成面对对象编程!
示例1,
//创建ElectronicSignature类
function ElectronicSignature () {
//添加operatingSignature (操作签名)方法
this.operatingSignature = function () {
console.log('ElectronicSignature类的operatingSignature 方法');
}
//添加updateSignature (操作签名)方法修改签名
this.updateSignature = function () {
console.log('ElectronicSignature类的updateSignature 方法');
}
}
//实例化
var electronicSignature = new ElectronicSignature ();
//调用operatingSignature 方法
electronicSignature.operatingSignature ();
//调用updateSignature 方法
electronicSignature.updateSignature ();
示例2,
function ElectronicSignature (){
}
ElectronicSignature.prototype.operatingSignature = function(){
console.log('ElectronicSignature类的operatingSignature方法');
}
ElectronicSignature.prototype.updateSignature = function(){
console.log('ElectronicSignature类的updateSignature方法');
}
var electronicSignature = new ElectronicSignature();
electronicSignature.operatingSignature();
electronicSignature.updateSignature();
上面2个示例都是实现一样的效果,下面来详细解释下
二,类和对象的关系
1.JavaScript中类是使用构造器来定义;
类由两个部分类声明和类体两个部分组成,类声明由函数构造器完成(即function),函数体就是类体。
2.在类体(函数体)内定义属性,若要创建属性,最简单的方式就是使用this关键字,
3.在类体定义方法,若要创建方法,可以使用function关键字创建匿名函数定义,将匿名函数赋给一个变量,使用this关键字引用该变量,
三,类和属性
1.JavaScript中定义属性,最简单的方法就是直接使用使用this关键字定义变量。
上面的创建属性和方法的示例就不写了,因为基本都知道怎么写,上面就有
四,关于this与prototype定义方法与属性的解释
1.先是this关键字之后的点语句连接的属性即方法,属性即方法赋值一个匿名函数,因为JavaScript的特殊性,属性与方法类似。
2.每个类都有prototype属性,该属性是一个静态属性,因此无需实例化,只需要使用类引用该属性即可