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
相關文章
相關標籤/搜索