iT邦幫忙

2017 iT 邦幫忙鐵人賽
DAY 7
0
自我挑戰組

你看微客=[ 前端領域 - 超入門 ]系列 第 7

Javascript---[ 物件原型 ]---無用小觀念

  • 分享至 

  • xImage
  •  

物件原型

  • Javascript中的物件不支援類別,使用的是原型繼承( prototype inheritance )。
  • 若要建立大量具有類似屬性的物件,可利用物件建構程序( object constructor ),其本質就像一個會回傳物件的函式。
  • 物件建構程序 = 建構程序函式 + new 運算符
    範例:
function Person ( name, age, gender ) {   
         this.name = name;
         this.age = age;
         this.gender = gender
         this.speak = function () {
              alert( "My name is " + name +" !");
         };    
}    

var vic = new Person ( vic, 34, male );

// 建構程序的函式名稱,建議以大寫字母開頭,來與一般函式區別。
// 引數名稱可與屬性一致,提高可閱讀性。
// 可將引數改寫成物件的形式來傳入建構函式,避免引數過多的情況。
// new 運算符會建立一個空物件,並將 this 指向新物件,再執行建構函式。
// 建構函式執行完畢後,new 運算符會自動回傳this內的值( 位址 ),指向剛被建立的物件名稱。

  • 關鍵字 instanceof 可用來判斷物件是由哪個建構程序函式所建立。
    ( 例: vic instanceof Person => 判斷結果為 true )
  • 利用 vic.prototype 可取得物件原型。
    ( 由此可知在 Javascript 中,函式也是一個物件,建構函式物件會具備一個 prototype 屬性 )
  • 利用 vic.prototype.屬性的方式,可設置物件原型。
  • 物件與其物件原型的屬性不會重複,除非你有在物件中重新( overwrite )複寫物件原型的屬性。
    ( 可用 hasOwnProperty 方法來判斷物件內該屬性是否有被覆寫 )
  • Object為原始物件,並定義了許多內建的方法,所有的物件最初都繼承自Object

上一篇
Javascript---[ 閉包 ]---無用小觀念
下一篇
HTML 5---[ API:地理位置 Geolacation ]---無用小觀念
系列文
你看微客=[ 前端領域 - 超入門 ]30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言