欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

創(chuàng)建、調(diào)用JavaScript對(duì)象的方法集錦

 更新時(shí)間:2014年12月24日 09:02:03   投稿:hebedich  
這篇文章主要介紹了創(chuàng)建、調(diào)用JavaScript對(duì)象的方法集錦,需要的朋友可以參考下

今天在做項(xiàng)目時(shí),遇到了需要?jiǎng)?chuàng)建JavaScript對(duì)象的情況。所以Bing了一篇老外寫的關(guān)于3種創(chuàng)建JavaScript對(duì)象的文章,看后跟著打了一遍代碼。感覺方法挺好的,在這里與大家分享一下。

  一、利用函數(shù)創(chuàng)建對(duì)象:

復(fù)制代碼 代碼如下:

//定義對(duì)象
function Animal(type)
{
    this.name="";
    this.type=type;
   this.introduction=function(){
         return "我的名字是: "+this.name+",我屬于 "+this.type;
}
}
var  animal=new Animal("家禽");   //實(shí)例化我們上面創(chuàng)建的對(duì)象
       animal.name="小紅";
      alert(animal.introduction());      //調(diào)用它的introduction函數(shù)(此時(shí),頁(yè)面會(huì)彈出:我的名字是 小紅,我屬于 家禽);

這種方法,大家一定都很熟悉了。但是,使用這種方法會(huì)造成性能的損耗。在這里,我們是通過new關(guān)鍵子來實(shí)例化對(duì)象的。其實(shí),new關(guān)鍵子是做了兩件事。一,定義了一個(gè)匿名方法(Animal)。二、調(diào)用它。這樣就不如我們接下來要介紹的方法高效了。

二、利用對(duì)象字面量(object literals):

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

復(fù)制代碼 代碼如下:

//定義對(duì)象
    var Book=
    {
          name:"紅樓夢(mèng)",
          type:"文學(xué)作品",
          getAuthor:function()
    {
             return :"我是曹雪芹的孩子!";
    }
   }
      alert(Book.GetAuthor());  //調(diào)用對(duì)象方法,此時(shí)頁(yè)面會(huì)出現(xiàn):我是曹雪芹的孩子。
       Book.name="灌籃";   //修改對(duì)象屬性
       alert(Book.name);    //此時(shí),頁(yè)面會(huì)彈出:灌籃

   相信大家看到代碼,應(yīng)該明白了為什么說這個(gè)方法會(huì)高效一些了。因?yàn)椋喈?dāng)于定義了一個(gè)JavaScript全局變量。我們可以直接用它,不需要實(shí)例化它。但是,這樣看起來怪怪的啊。那么,解決方案來了。我們來看看第三種方法吧。

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

     翻譯成單例模式,可能不是太妥。先看代碼吧:

復(fù)制代碼 代碼如下:

//定義對(duì)象
    var  Gender=new function()
 {
       this.type="女生";
      this.speaking=function()
{
      return "我是"+this.type;
}
}
     alert(Gender.speaking();)   //使用對(duì)象  此時(shí)頁(yè)面會(huì)出現(xiàn):我是女生。

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

相關(guān)文章

最新評(píng)論