var Book = function(name, id) {
this.name = name;
this.id = id;
}
Book.prototype.showName() {
console.log(this.name);
}
var book = new Book('javascript红宝书', 1);
book.showName(); // javascript红宝书
var Book = function(name, id) {
// 私有属性 只能在函数内部自己访问, 外界访问不到
var num = 1;
// 私有方法 只能在函数内部自己访问, 外界访问不到
function checkId() {};
// 特权方法 在外界能访问到类的私有属性和私有方法的方法
this.getName = function() {};
this.getId = function() {};
this.setName = function() {};
this.setId = function() {};
// 公有属性 new关键字实例化的对象上绑定的属性
this.name = name;
this.id = id;
// 公有方法 new关键字实例化的对象上绑定的方法
this.show = function() {};
// 构造器
this.setName(name);
this.setId(id);
}
// 静态属性 new实例化出来的对象不能访问
Book.isChinese = true;
// 静态方法 new实例化出来的对象不能访问
Book.resetTime = function() {
console.log('resetTime');
}
Book.prototype = {
// 公有属性
isJsBook: true,
// 公有方法
showName: function() {}
}
var book = new Book('javascript红宝书', 1);
book.showName();
还可以这样写
var Book = (function (){
// 静态私有属性
var bookNum = 0;
// 静态私有方法
function checkBook(name) {};
// 创建类
function _book(name, id) {
// 私有变量
var name, id;
// 私有方法
function checkId(id) {};
// 特权方法
this.getName = function() {};
this.getId = function() {};
this.setName = function() {};
this.setId = function() {};
// 公有属性
this.name = name;
this.id = id;
// 公有方法
this.show = function() {};
}
// 构造原型
_book.prototype = {
// 静态公有属性
isJSBook: false,
// 静态公有方法
display: function() {}
};
// 返回类
return _book;
})()
var Book = function() {
// 私有属性
var num = 1;
// 私有方法
function addNum(){
num++;
}
// 公有属性
this.name = "javscript";
// 公有方法
this.getName = function() {
return this.name
}
}
// 静态公有属性(对象实例不能访问)
Book.isBook = true;
// 静态公有方法(对象实例不能访问)
Book.checkBooks = function() {
// do something
}
// 实例共有方法
Book.prototype.calcPrice = function() {
return this.price * this.num;
}
// 实例共有属性
Book.prototype.sell = true