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)系我們修改或刪除,多謝。

主站蜘蛛池模板: 在线观看视频黄 | 欧美白人猛性xxxxx交69 | 黄色美女免费网站 | 日韩三级精品 | 欧美一级日韩一级亚洲一级 | 97精品久久久久中文字幕 | 水蜜桃一二二区视在线 | 最新毛片网站 | 欧美人体极品大胆露私 | 中文久久| 色视频在线观看网站 | 国产在线色 | 99热99re8国产在线播放 | 日韩美女色高清在线看 | 成年色黄大色黄大片 视频 成年视频xxxxxx在线 | 最新亚洲一区二区三区四区 | 精品精品国产自在久久高清 | 99久久伊人一区二区yy5099 | 色婷婷激婷婷深爱五月小说 | 69热视频在线观看免费自拍 | 久久不色| 国产午夜成人无码免费看 | 国产乱人伦精品一区二区 | 亚洲情趣 | 色综合天天综合网国产成人 | 丁香婷婷综合五月六月 | 国产一区二区三区在线视频 | 91成人免费 | 久久ww精品w免费人成 | 五月婷婷六月丁香 | 国产麻豆91 | 久久伊人精品热在75 | 四虎影视在线观看永久地址 | 91精品免费视频 | 美女三级黄 | 精品欧美一区二区三区在线观看 | 精品国产福利第一区二区三区 | 色老大综合久久综合热 | 黄视频网站在线观看 | 91 色| 欧美成人高清在线视频大全 |