前端知識點分析 js裡的 proto

2021-08-17 09:01:27 字數 819 閱讀 5514

中定義了共享的屬性和方法

1.方法(function)是物件,方法的原型(function.prototype)是物件。因此,它們都會具有物件共有的特點。

即:物件具有屬性__proto__,可稱為隱式原型,乙個物件的隱式原型指向構造該物件的建構函式的原型物件,這也保證了例項能夠訪問在建構函式原型物件中定義的屬性和方法。

2.方法這個特殊的物件,除了和其他物件一樣有上述_proto_屬性之外,還有自己特有的屬性——原型屬性(prototype),這個屬性是乙個指標,指向乙個物件,這個物件的用途就是包含所有例項共享的屬性和方法(我們把這個物件叫做原型物件)。原型物件也有乙個屬性,叫做constructor,這個屬性包含了乙個指標,指回原建構函式。

分析上圖:

建構函式foo()除了是方法,也是物件啊,它也有__proto__屬性,指向誰呢?

指向它的建構函式的原型物件唄。函式的建構函式不就是function嘛,因此這裡的__proto__指向了function.prototype。

其實除了foo(),function(), object()也是一樣的道理。

原型物件也是物件啊,它的__proto__屬性,又指向誰呢?

同理,指向它的建構函式的原型物件唄。這裡是object.prototype.

最後,object.prototype的__proto__屬性指向null。

前端知識點

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 知識點 ul li 中預設選擇class active firstli rem...

前端知識點

css實現單行文字溢位顯示 overflow hidden text overflow ellipsis white space nowrap 實現多行文字溢位顯示 display webkit box webkit box orient vertical webkit line clamp 3 o...

前端知識點

關於html 1.html語義化標籤的理解 結構化的理解 能否寫出簡潔的html結構 seo優化 2.h5中新增的屬性 如自定義屬性data,類名classname等,新增表單元素,拖拽drag 3.h5中新增的api,修改的api,廢棄的api 稍作了解 離線儲存,audio,video 關於cs...