Kasan Blog

js 是如何实现类的?

  1. 工厂方式,缺点:永远指向obj ```js function Person(name, age, work){ let obj=new Object(); obj.name=name; obj.age=age; obj.work=work;

    return obj; }

let a=new Person(‘ming’, 18, ‘teacher’); let b=new Person(‘ming’, 18, ‘teacher’);

---------------------

2. 构造函数  指向是对的(this), 

缺点是里面的函数是会在内存被重复创建,浪费内存和性能

```js
function Person(name, age, work){
    this.name=name;
    this.work=work;
    this.age=age;
    this.showName=function(){
        console.log(this.name);
    }
}

let a=new Person('ming', 18, 'teacher');
let b=new Person('ming', 18, 'teacher');

2.1 解决内存浪费问题,把复用的函数放到原型上。

function Person(name, age, work){
    this.name=name;
    this.work=work;
    this.age=age;
}

Person.prototype.showName = function(){
        console.log(this.name);
    }

let a=new Person('ming', 18, 'teacher');
let b=new Person('ming', 18, 'teacher');

a.showName()

  1. 使用class