1. 程式人生 > >js中級1.0

js中級1.0

  1. 面向物件

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

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

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

類裡面的屬性是私有的。

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

  1. 類身上天生自帶一個prototype的屬性,屬性是物件
  2. Prototype物件天生有一個constructor屬性,屬性值就是類本身
  3. 例項天生有一個__proto__ 指向你自己類的原型

 

 

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

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

 

var a和a的區別

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

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

 

 

 

 

 

 

Beike