Javascript类的创建
Javascript类的创建有两种方式
一、声明一个函数保存在变量里,然后在这个函数的内部通过对this添加属性和方法来实现对类添加属性和方法。
var Book = function (id,bookname,price){
this.id = id;
this.bookname = bookname;
this.price = price;
}
二、通过在类的原型(prototype)上来赋予属性和方法
1、为原型对象赋值
/**
* 为Book的原型赋值display方法
*/
Book.prototype.display = function(){
console.info('this bookname is:'+this.bookname+' and price is :'+this.price);
}
2、将一个对象赋值给类的原型对象(以上两种方法不能同时使用,会发生覆盖行为)
/**
* 将对象display方法赋值给Book的原型对象
* @type {{display: Book.protptype.display}}
*
*/
Book.prototype = {
display:function(){
console.info('Book.prototype');
}
};
类创建成功了,可以通过new出这个对象来调用该对象的属性和方法
var book = new Book('1','Javascript 设计模式','48');
book.display();
三、通过this添加的属性和方法与在prototype中添加属性和方法的区别
通过this添加的对象和方法是在当前对象上添加的,我们每次通过类创建一个对象是,this指向的属性和方法都会得到相应的创建。而在Javascript是一种基于prototype的语言,所以在每创建一个对象时,他都有一个原型prototype指向其继承的属性和方法,这样通过prototype继承的方法不是其自身的属性和方法,是通过prototype访问到的,所以我们每次通过类创建一个新对象时,这些属性和方法是不会被创建的。
高质量的代码就是对程序自己最好的注释。当你打算要添加注释时,问问自己,“我如何能改进编码以至于根本不需要添加注释?”改进你的代码,然后才是用注释使它更清楚。