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
相关文章
相关标签/搜索