1晰骑,在很多面向?qū)ο笳Z言中都有類的概念,但是在javascript(es5)中沒有類绊序。而我們可以通過構造函數(shù)來模擬一個類硕舆。
(1)構造函數(shù)的首字母要大寫,可以通過在函數(shù)中的this為類設置屬性和方法
(2)通過new關鍵字創(chuàng)建類的實例
(3)通過傳參的方式骤公,在實例化對象的時候為對象設置屬性
(4)一個構造函數(shù)可以生成多個對象的實例
構造函數(shù)的缺點就是:同一個構造函數(shù)的對象實例之間無法共享屬性或方法
2抚官,(1)為了解決構造函數(shù)的對象實例之間無法共享屬性的缺點,js提供了prototype屬性淋样。
(2)每一個構造函數(shù)都有一個prototype屬性耗式,這個屬性指向一個原型對象胁住,這個原型對象上的所有屬性和方法都可以被這個構造函數(shù)的實例使用
二趁猴、ECMAscript
(1)ECMAscript簡稱ES6刊咳,是JavaScript的標準,我們經(jīng)常說的ES5儡司,ES6等等娱挨,可以稱作JavaScript的版本
之前學過的所有JavaScript特性,都是基于ES5版本的
ES6已更名為ES2015捕犬,ES7等后續(xù)的版本跷坝,我們都可以統(tǒng)稱為ES2015+。
(2)變量和常量
之前一直使用var定義變量碉碉,在ES6版本中柴钻,我們可以使用let定義變量;增加了塊級作用域垢粮;不存在變量提升贴届;不允許重復聲明(多次重復聲明會報錯);
(3)常量
在ES6中蜡吧,不僅有變量毫蚓,還增加了常量的概念,我們用const聲明常亮昔善,一旦聲明元潘,它的值就不能再改變(不能重復賦值),但如果常量中存儲的是一個對象君仆,可以改變這個對象的屬性