JS高级---构造函数通过原型添加方法,原型的作用: 共享数据, 节省内存空间

JS高级---构造函数,通过原型添加方法,原型的作用: 共享数据, 节省内存空间

 

构造函数

    //构造函数
    function Person(sex, age) {
      this.sex = sex;
      this.age = age;
    }

 

通过原型添加方法
    //通过原型添加方法
    Person.prototype.sayHi = function () {
      console.log("打招呼,您好");
    };

 

通过console.dir来观察和对比per和Person,可以看出:

 

实例对象中有个属性,__proto__,也是对象, 叫原型, 不是标准的属性, 浏览器使用的

console.dir(per);//实例对象 Person

 

构造函数中有一个属性, prototype, 也是对象, 叫原型, 是标准属性, 程序员使用
 console.dir(Person);//构造函数的名字 f Person(sex, age)

 

 

因此:

原型---->__proto__或者是prototype, 都是原型对象

原型的作用: 共享数据, 节省内存空间

 
    var per = new Person("男", 20);
    console.dir(per);//实例对象 Person
    console.dir(Person);//构造函数的名字 f Person(sex, age)

    var per2 = new Person("女", 30);
    console.log(per.sayHi == per2.sayHi); //true

 

posted @ 2019-12-27 15:47  jane_panyiyun  阅读(371)  评论(0编辑  收藏  举报