1. 程式人生 > >建構函式,原型鏈補充

建構函式,原型鏈補充

1.     面向物件

Js一開始就是寫網頁特效,面向過程的,作者發現這樣寫不好,程式碼重複利用率太高,計算機記憶體消耗太大,網頁效能很差。所以作者就收到javac的影響,往面向物件靠齊。Js天生有一個Object,但他沒有面向物件的特徵(封裝,繼承,多型)。最後研究出了建構函式。

建構函式最終目的是生成物件。

我們把封裝的那個函式叫類

類裡面的屬性是私有的。

類原型上的屬性是公有的,可繼承的。

1.     類身上天生自帶一個prototype的屬性,屬性是物件

2.     Prototype

物件天生有一個constructor屬性,屬性值就是類本身

3.     例項天生有一個__proto__ 指向你自己類的原型

原型鏈主要針對物件的屬性來說的

作用域鏈主要針對變數來說的

var aa的區別

沒有帶var的變數就不能存放到記憶體地址中。就沒有變數提升這種說法了。相當於給window加了一個屬性window.a

var 可以存放在記憶體地址中,有變數提升,同時也相當於給window加了一個屬性window.a