20210616晚:總結性描述
任何乙個物件都有乙個___proto___屬性,指向建構函式的原型prototype,而prototype也是乙個物件,也有乙個__proto__屬性,這樣一環接一環,就形成了乙個鏈,到最後object.prototype截止。
**person.prototype.constructor == person;
person1.constructor == person;
person1.__proto__ == person.prototype;
**繼承,就是拿到了別的物件的屬性和方法。eg: dog.prototype = new animal();//【把乙個建構函式的原型物件指向了新的乙個建構函式的例項】,dog繼承了animal上所有的屬性和方法。
[就是例項能夠訪問到原型物件下的屬性和方法,當原型物件指向發生改變,這個例項就也能訪問到被指向物件(例項/函式)的所有屬性和方法]
**js,一切皆物件。
**js,是一門基於js引擎的語言。
第一篇
1. [規定]例項的建構函式屬性(constructor)指向建構函式。eg:person1.constructor == person
2. 凡是通過new function()建立的物件都是函式物件,其餘物件都是普通物件。
3. 每當定義乙個物件的時候,物件中總會包含一些預定義的屬性,其中每個函式物件都包含乙個prototype屬性,這個屬性指向函式的原型物件。
4. 總結:每個物件都有 _proto_ 屬性,但是只有函式物件才有prototype屬性。
5. 原型物件,顧名思義,就是個普通物件。person.prototype 就是原型物件。
6. person.prototype.constructor == person; //在預設情況下,原型物件的constructor屬性是個指標,指向prototype屬性所在的person函式。
7.結論: 原型物件(person.prototype)是建構函式(person)的乙個例項。[20210705]
8. 原型物件主要用來做繼承。
9. [特殊]function.prototype,它是函式物件,但它沒有prototype屬性。
第二篇1. [規定]js在建立物件時,都會有乙個 _proto_ 的內建屬性,用於指向建立它的建構函式的原型物件。eg:person1._proto_ == person.prototype;
2. [起始]建立物件的構造器(應該是9個)有object,array,date,function,string,number,boolean,regexp,error。
3. object.prototype._proto_ == null ; //null處於原型鏈的頂端
4.乙個普通物件的建構函式是object。
第三篇2. function.prototype._proto_ === object.prototype; 也繼承了object.prototype上的所有方法,比如tostring(),valueof(),hasownproperty。
構造器來自於function.prototype,function來自於object.prototype,object來自於null。【到頭了】
3. 所有函式物件的 _proto_ 都指向function.prototype,但它是個空函式。
4. 原型鏈:
function person(){}
var person1 = new person();
console.log(person1.__proto__ === person.prototype); // true
console.log(person.prototype.__proto__ === object.prototype) //true
console.log(object.prototype.__proto__) //null
person.__proto__ == function.prototype; //true
console.log(function.prototype)// function(){} (空函式)
var num1 = new array();
console.log(num1.__proto__ == array.prototype) // true
console.log( array.prototype.__proto__ == object.prototype) // true
console.log(object.prototype.__proto__) //null
console.log(array.prototype) // (空陣列)
console.log(array.__proto__ == function.prototype)// true
5. 原型和原型鏈是js實現繼承的乙個模型,真正實現原型鏈的是 _proto_ ,而不是prototype。
6.例項和原型物件之間存在個鏈結,而不是例項和建構函式之間。
(具體是如何實現繼承的)
知識體系第二遍回顧補充 冒泡演算法
注 時間複雜度 完成乙個程式所需要的時間 一套圖 搞懂 時間複雜度 o 1 常量 o logn 對數 o n 線性 o n 2 指數型 空間複雜度 完成乙個程式所需要的記憶體 變數 標準 陣列內部數字的公升序排列 思想空間複雜度 迴圈比較o n 2 o n 2 氣泡排序 你比我小,我就要和你換,大值...
第二遍回顧 前端flex布局
1.flex 彎曲,收縮 2.概念 2條主軸,main axis,cross axis 每個單元為flex item,主軸空間main size,交叉軸空間cross size 3.容器 container display flex inline flex 塊狀元素用flex 行內元素用inline...
Python學習 第二遍
computer原指專門負責計算的人,後來演變成特指計算編譯,譯為計算機 計算機是能根據一組指令運算元據的機器。五大部件對應硬體 擴充套件 計算機的工作原理a b 程式語言的種類 常用的程式語言 anaconda工具的使用問題 如何利用python程式進行攝氏度和華氏度的轉換 步驟一 分析問題的計算...