国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > JavaScript > 正文

創建、調用JavaScript對象的方法集錦

2019-11-20 13:37:25
字體:
來源:轉載
供稿:網友

今天在做項目時,遇到了需要創建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();)   //使用對象  此時頁面會出現:我是女生。

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

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 盈江县| 辛集市| 兴仁县| 乐昌市| 湖北省| 津市市| 临猗县| 木里| 旺苍县| 禹城市| 普宁市| 亚东县| 耿马| 隆德县| 晋宁县| 壤塘县| 汉川市| 上高县| 博客| 沙洋县| 浪卡子县| 会昌县| 镇安县| 方正县| 双牌县| 喀什市| 扎赉特旗| 梧州市| 齐河县| 武宁县| 南郑县| 特克斯县| 曲阳县| 吴堡县| 巩义市| 阿合奇县| 苏州市| 仙桃市| 进贤县| 石阡县| 犍为县|