JScript Class:
function JSClass()
{

}
Extends prototype method:
JSClass. " /> 亚洲网在线,精品国产一区二区三区四区,成人片免费看

中文字幕日韩一区二区_国产一区二区av_国产毛片av_久久久久国产一区_色婷婷电影_国产一区二区精品

JS類中定義原型方法的兩種實現的區別

我們知道,給JavaScript類添加原形(prototype)方法是很簡單的。而且常用的有下面這兩種方法,可是這兩種方法在使用時有區別嗎?

    JScript Class:
 function JSClass()
 {

 }
    Extends prototype method:
 JSClass.prototype.MethodA = function()
 {

 };
    Or

 function = JSClass.prototype.MethodA()
 {

 };
其實這兩個原形定義方式可以簡化一下來討論,先把它們看作是兩個函數,如下: 
  Foo1(); 

  function Foo1() 
  { 
      alert(’This is Foo1.’); 
  }
     和   Foo2(); 
  var Foo2 = function() 
  { 
      alert(’This is Foo2.’); 
  }

     運行第一個顯然是不會有任何錯誤的,可是運行第二個就有問題了,這時系統會說:Microsoft JScript runtime error: Object expected。這就是說函數定義(Foo1)在腳本解析器中有最高的初始化優先級,這個很好理解。如果不優先處理函數,那么對于函數中的函數調用就沒有辦法處理了,假使我們先定fn1()再定義fn2(),卻從fn1中調fn2,那么就通不過解析了。為什么Foo2不能被初始化,Foo2的定義根本不是函數定義,它是一個標準的賦值語句,之所以能象標準函數一樣的使用Foo2(Foo2()),完全是因為它指向的是一個函數對象的實例而已。
再來看原形方法導入里的兩種方式,就很簡單了。并且不同的執行優先循序,也決了它們在使用中的不同,看如下示例: 
<script language="Javascript">
function NormalClass() 

    this.m_Property1 = ’P1 in Normal Class.’; 
    this.m_Property2 = ’P2 in Normal Class.’; 

    this.toString = function() 
    { 
         return ’[class NormalClass]’; 
    }

    return new InnerClass();   

    function InnerClass() 
    { 
         this.m_Property1 = ’P1 in Inner Class.’;  
         this.m_Property2 = ’P2 in Inner Class.’;  

         this.toString = function() 
         { 
              return ’[class InnerClass]’; 
         }     
    }

    InnerClass.prototype.Method1 = function() 
    { 
         alert(this.m_Property1); 
    }; 

    function InnerClass.prototype.Method2() 
    { 
         alert(this.m_Property2); 
    };   
}
</script>

     執行: 
var nc = new NormalClass(); 
nc.Method1(); 
nc.Method2();

     是什么效果?為什么? 

JavaScript技術JS類中定義原型方法的兩種實現的區別,轉載需保留來源!

鄭重聲明:本文版權歸原作者所有,轉載文章僅為傳播更多信息之目的,如作者信息標記有誤,請第一時間聯系我們修改或刪除,多謝。

主站蜘蛛池模板: 亚洲成人精品 | 天天色官网 | 精品一二区 | 久久久久久久国产 | 亚洲成人一区二区在线 | 欧美第一区 | 四虎永久免费黄色影片 | www.成人免费视频 | 在线免费观看成人 | 成人在线免费电影 | 久久精品国产久精国产 | 成人一区二区三区在线观看 | 色综合久久天天综合网 | 伊人伊成久久人综合网站 | 男人av在线 | 日韩精品成人一区二区三区视频 | 高清免费av| 国产精品一二三区 | 毛片免费看 | 密室大逃脱第六季大神版在线观看 | 日韩av在线一区 | 久久人| 99国产精品久久久 | 欧美精品在线看 | 亚洲精品久久久 | 精品国产欧美一区二区三区成人 | 成人亚洲性情网站www在线观看 | 黄色大片免费网站 | 男人天堂视频在线观看 | 国产精品美女久久久久久不卡 | 久久av综合| 81精品国产乱码久久久久久 | 精品九九 | 亚洲精品乱码久久久久久按摩观 | 欧美乱淫视频 | 欧美国产日韩在线观看 | 亚洲精品国产成人 | 欧美日韩亚洲国产 | 亚洲成av人片在线观看无码 | 欧美精品一区在线发布 | 91 在线 |