首頁 >web前端 >js教程 >建立、呼叫JavaScript物件的方法集錦_javascript技巧

建立、呼叫JavaScript物件的方法集錦_javascript技巧

WBOY
WBOY原創
2016-05-16 16:24:481067瀏覽

今天在做專案時,遇到了需要建立JavaScript物件的情況。所以Bing了一篇老外寫的關於3種創建JavaScript物件的文章,看後跟著打了一遍程式碼。感覺方法挺好的,在這裡跟大家分享一下。

  一、利用函數建立物件:

複製程式碼 程式碼如下:

//定義物​​件
function Animal(type)
{
    this.name="";
    this.type=type;
   this.introduction=function(){
         return "我的名字是: " this.name ",我屬於 " this.type;
}
}
var  animal=new Animal("家禽");   //實例化我們上面建立的物件
       animal.name="小紅";
      alert(animal.introduction());      //呼叫它的introduction函數(此時,頁面會彈出:我的名字是 小紅,我屬於 家禽);

這種方法,大家一定都很熟悉了。但是,使用這種方法會造成效能的損耗。在這裡,我們是透過new關鍵子來實例化物件的。其實,new關鍵子是做了兩件事。一,定義了一個匿名方法(Animal)。二、調用它。這樣就不如我們接下來要介紹的方法有效率了。

二、利用物件字面量(object literals):

     不知道翻譯的對不對,待會我會把原文地址告訴大家,有興趣的可以看原文。

複製程式碼 程式碼如下:

//定義物​​件
    var Book=
    {
          name:"紅樓夢",
          type:"文學作品",
          getAuthor:function()
    {
             return :"我是曹雪芹的孩子!";
    }
   }
      alert(Book.GetAuthor());  //呼叫物件方法,此時頁面會出現:我是曹雪芹的孩子。
       Book.name="灌籃";   //修改物件屬性
       alert(Book.name);    //此時,頁面會彈出:灌籃

   相信大家看到程式碼,應該明白了為什麼說這個方法會有效率了。因為,它相當於定義了一個JavaScript全域變數。我們可以直接用它,不需要實例化它。但是,這樣看起來怪怪的啊。那麼,解決方案來了。我們來看看第三種方法吧。

 三、單例模式(Singleton using a function):

     翻譯成單例模式,可能不會太妥。先看程式碼:

複製程式碼 程式碼如下:

//定義物​​件
    var  Gender=new function()
 {
       this.type="女生";
      this.speaking=function()
{
      return "我是" this.type;
}
}
     alert(Gender.speaking();)   //使用物件  此時頁面會出現:我是女生。

  大家看這段兒程式碼,是不是跟我們的方法一很像呢?但是,它可像方法一那樣運作的。方法一,用一次對象,就要創建一次對象。這個方法,創建一次對象,就可以永久使用。所以,這種方式,很類似設計模式的單例模式。

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn