es 5 s 6静的方法、クラス、単一の例のモード
7925 ワード
アコースティックjsのクラス、静的方法の継承
/**
*
*/
//es5
//
// function Person(name,age) {
// //
// this.name=name;
// this.age=age;
// this.run=function(){
// console.log(`${this.name}---${this.age}`)
// }
// }
// //
// Person.prototype.sex=' ';
// Person.prototype.work=function(){
// console.log(`${this.name}---${this.age}---${this.sex}`);
// }
// //
// Person.setName=function(){
// console.log(' ');
// }
// var p=new Person('zhangsan','20'); /* , */
// p.run();
// p.work();
//
// Person.setName(); /* */
//
//es5
/*
:
: ,
* */
function Person(name,age) {
this.name=name;
this.age=age;
this.run=function(){
console.log(this.name+'---'+this.age);
}
}
Person.prototype.work=function(){
console.log('work');
}
function Web(name,age){
Person.call(this,name,age); /* */
}
Web.prototype=new Person();
var w=new Web(' ',20);
w.run();
w.work(); //w.work is not a function
es 6のクラス、静的方法の継承/**
*
*/
// Person
//
//class Person{
// constructor(name,age) { /* , ,new */
// this._name=name;
// this._age=age;
// }
// getName(){
// console.log(this._name);
//
// }
// setName(name){
// this._name=name
// }
//}
//var p=new Person(' 1','20');
//p.getName();
//p.setName(' ');
//p.getName();
//es6
//
//class Person{
// constructor(name,age){
// this.name=name;
// this.age=age;
// }
// getInfo(){
// console.log(` :${this.name} :${this.age}`);
// }
// run(){
// console.log('run')
// }
//}
//class Web extends Person{ // Person extends super(name,age);
// constructor(name,age,sex){
// super(name,age); /* */
// this.sex=sex;
// }
// print(){
//
// console.log(this.sex);
// }
//}
//var w=new Web(' ','30',' ');
//w.getInfo();
//es6
class Person{
constructor(name){
this._name=name; /* */
}
run(){ /* */
console.log(this._name);
}
static work(){ /* */
console.log(' es6 ');
}
}
Person.instance=' ';
var p=new Person(' ');
p.run();
Person.work(); /*es6 */
console.log(Person.instance);
シングルモード/**
*
*/
//
class Db {
static getInstance(){ /* */
if(!Db.instance){
Db.instance=new Db();
}
return Db.instance;
}
constructor(){
console.log(' ');
this.connect();
}
connect(){
console.log(' ');
}
find(){
console.log(' ');
}
}
var myDb=Db.getInstance();
var myDb2=Db.getInstance();
var myDb3=Db.getInstance();
var myDb4=Db.getInstance();
myDb3.find();
myDb4.find();