JS中構造函數的方法定義在原型對象里


構造函數中的方法每當new一個對象的時候,就會創建一個構造函數里的方法,如果多個實例對象就會創建多個方法,占用內存,沒有提高代碼的復用性;

將方法定義到構造函數的原型對象里,創建多個實例對象而共享一個方法,方法創建了一次。

<script>
        function Persion(name, age) {
            this.name = name;
            this.age = age;
      //在構造函數里定義方法
this.sing = function () { console.log("I can sing"); } } var p1 = new Persion("jack", 12); var p2 = new Persion("tom", 13); console.log(p1.sing === p2.sing);//false


function Persion2(name, age) { this.name = name; this.age = age; }
    //在構造函數的原型對象里定義方法 Persion2.prototype.sing
= function () { console.log("I can sing"); } var p3 = new Persion2("jack", 12); var p4 = new Persion2("tom", 13); p3.sing();//I can sing p4.sing();//I can sing console.log(p3.sing === p4.sing);//true </script>

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM