1. 程式人生 > >js面向物件(一)

js面向物件(一)

      js面向物件:js是個弱型別語言,它是基於物件的語言 ,它能模擬出來面向物件的形式,不能說它能面向物件,從另一個角度說,說起面向物件,有三個特性,封裝,繼承,多型,但是js能實現封裝,但是繼承是類特有的,也就是說js能模擬出來。這個不能說js語言面向物件。

 建立物件的集中方法各有個的利弊:

1,用Object建立物件:(缺點:程式碼冗餘,每次建立的時候都會再寫一遍);

2,用工廠模式建立物件:(缺點:不能分辨出例項出來的物件是哪個型別的。)

3,用自定義建構函式建立物件:(缺點:會佔記憶體,因為建構函式裡面的函式每次例項的時候都會申請記憶體,造成記憶體浪費,因此用建構函式和原型物件一塊建立物件。)

每個函式裡面都有一個prototype這個屬性,這個屬性是指向這個函式的原型物件,這個原型物件是有那個建構函式new出來的物件時共享的,每個new出來的物件都有__proto__屬相,它指向原型物件。