JScript Class:
function JSClass()
{

}
Extends prototype method:
JSClass. " /> 九九久久国产精品免费热6,91香蕉视频破解版,一个人看的www免费视频中文

一区二区久久-一区二区三区www-一区二区三区久久-一区二区三区久久精品-麻豆国产一区二区在线观看-麻豆国产视频

JS類中定義原型方法的兩種實(shí)現(xiàn)的區(qū)別

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

    JScript Class:
 function JSClass()
 {

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

 };
    Or

 function = JSClass.prototype.MethodA()
 {

 };
其實(shí)這兩個(gè)原形定義方式可以簡(jiǎn)化一下來(lái)討論,先把它們看作是兩個(gè)函數(shù),如下: 
  Foo1(); 

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

     運(yùn)行第一個(gè)顯然是不會(huì)有任何錯(cuò)誤的,可是運(yùn)行第二個(gè)就有問(wèn)題了,這時(shí)系統(tǒng)會(huì)說(shuō):Microsoft JScript runtime error: Object expected。這就是說(shuō)函數(shù)定義(Foo1)在腳本解析器中有最高的初始化優(yōu)先級(jí),這個(gè)很好理解。如果不優(yōu)先處理函數(shù),那么對(duì)于函數(shù)中的函數(shù)調(diào)用就沒(méi)有辦法處理了,假使我們先定fn1()再定義fn2(),卻從fn1中調(diào)fn2,那么就通不過(guò)解析了。為什么Foo2不能被初始化,F(xiàn)oo2的定義根本不是函數(shù)定義,它是一個(gè)標(biāo)準(zhǔn)的賦值語(yǔ)句,之所以能象標(biāo)準(zhǔn)函數(shù)一樣的使用Foo2(Foo2()),完全是因?yàn)樗赶虻氖且粋€(gè)函數(shù)對(duì)象的實(shí)例而已。
再來(lái)看原形方法導(dǎo)入里的兩種方式,就很簡(jiǎn)單了。并且不同的執(zhí)行優(yōu)先循序,也決了它們?cè)谑褂弥械牟煌慈缦率纠?nbsp;
<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>

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

     是什么效果?為什么? 

JavaScript技術(shù)JS類中定義原型方法的兩種實(shí)現(xiàn)的區(qū)別,轉(zhuǎn)載需保留來(lái)源!

鄭重聲明:本文版權(quán)歸原作者所有,轉(zhuǎn)載文章僅為傳播更多信息之目的,如作者信息標(biāo)記有誤,請(qǐng)第一時(shí)間聯(lián)系我們修改或刪除,多謝。

主站蜘蛛池模板: 香蕉大久久| 91精品国产高清久久久久久 | 91精品免费久久久久久久久 | 91久久精品一区二区三区 | se97se成人亚洲网站 | 精品久久久久久久 | 狠狠色做五月深爱婷婷 | xf在线a精品一区二区视频网站 | 色爽| 精品福利 | 精品精品国产自在久久高清 | 91小视频在线观看免费版高清 | 日日草草 | 亚洲狠狠97婷婷综合久久久久 | 青青国产成人久久激情91麻豆 | 99久久99久久精品国产 | 四虎精品永久在线 | 亚洲一区二区三区四区视频 | 国产精品秒播无毒不卡 | 伊人色网站 | 黄色影院在线观看视频 | 欧美日韩中文亚洲另类春色 | 日韩亚洲欧美一区噜噜噜 | 亚洲国产99在线精品一区二区 | 国产精品系列在线 | 91日韩在线 | 天天做天天玩天天爽天天 | 午夜欧美 | 99久久国产综合精品swag超清 | 99精彩视频在线观看 | 狠狠色噜噜狠狠狠狠2021天天 | 亚洲国产精品综合久久一线 | 99热精品成人免费观看 | 一区二区日韩 | 欧美五月激情 | 91社区在线观看精品 | 日本www色视频成人免费 | 国产成人亚洲精品乱码在线观看 | 国产一区中文字幕在线观看 | 国产精品中文字幕在线 | 中文字幕一区二区日产乱码 |