面向对象原型链小结
?
構造函數:
*)構造函數就是初始化對象的函數(給剛創建的對象賦值屬性等)。
*)構造函數就是普通函數,內部的this指向window;
只有實例化對象后才被稱為構造函數,內部的this指向實例。
*)若構造函數內部存在返回值,且返回值的數據類型為值類型,那么調用這個函數時返回這個實例;
若構造函數內部返回值的數據類型為引用類型,那么調用這個函數時返回復雜數據。
*)若構造函數在調用時沒有傳參,則構造函數的小括號可以省略。
*)訪問原型的方式:構造函數.prototype => 原型。
*)Function是所有構造函數的構造函數。
原型對象:
*)一個函數中就會有prototype屬性,這個屬性指向一個對象,這個對象就稱作原型對象。
*)原型就是構造函數的prototype值。
*)把公有的方法放在原型上來實現資源共享,所有實例都可以訪問這個公有方法。
*)原型中的constructor屬性指向了構造函數本身。eg:fn.prototype.constructor === fn;
*)Object.prototype => null 是原型鏈的最頂端。
實例:
*)實例化:通過構造函數創建(new)對象的過程;
實例:實例化出來的對象,稱作構造函數的一個實例。
*)訪問原型方式:實例.__proto__ => 原型。(.__proto__這個屬性是非標準化屬性,不推薦使用);
*)Function是Function的實例。
結論:
*)Function.prototype是原型對象,Function就繼承自該原型對象。
*)Function instanceof Function 為真;
*)Function instanceof Object 為真;
*)Object instanceof Function 為真;
轉載于:https://www.cnblogs.com/Lu-Lu/p/6230706.html
總結
- 上一篇: 【poj1742】 Coins
- 下一篇: 个人作业收官——软件工程实践总结