new操作符創建對象的四個步驟


new操作符創建對象可以分為以下四個步驟:

  • 創建一個空對象
  • 將所創建對象的__proto__屬性值設為構造函數的prototype的屬性值
  • 執行構造函數中的代碼,構造函數中的this指向該對象
  • 返回對象

因此上面的過程就可以等同於下面的過程:

    var Person = function(name, age) {
        this.name = name;
        this.sex= sex;
    };
    Person.prototype.show = function() {
        console.log(this.name, this.sex);
    };
    var obj = {};
    obj.__proto__ = Person.prototype;
    Person.call(obj, "xiao", 20);
    // var obj = new Person("xiao", 20);
    console.log(obj);


免責聲明!

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



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