1. 程式人生 > >js中級第三天

js中級第三天

1.面向物件

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

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

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

類裡面的屬性是私有的。

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

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

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

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

 

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

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

var a 和a的區別

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

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