乡下人产国偷v产偷v自拍,国产午夜片在线观看,婷婷成人亚洲综合国产麻豆,久久综合给合久久狠狠狠9

  • <output id="e9wm2"></output>
    <s id="e9wm2"><nobr id="e9wm2"><ins id="e9wm2"></ins></nobr></s>

    • 分享

      博客園 - 鳥食軒 - JScript中的prototype(原型)屬性研究(1)

       weicat 2006-03-23

      JScript中的prototype(原型)屬性研究(1)

          我們知道JScript中對(duì)象的prototype屬性,是用來(lái)返回對(duì)象類型原型的引用的。我們使用prototype屬性提供對(duì)象的類的一組基本功能。并且對(duì)象的新實(shí)例會(huì)"繼承"賦予該對(duì)象原型的操作。但是這個(gè)prototype到底是怎么實(shí)現(xiàn)和被管理的呢?

          對(duì)于對(duì)象的prototype屬性的說(shuō)明,JScript手冊(cè)上如是說(shuō):所有 JScript 內(nèi)部對(duì)象都有只讀的 prototype 屬性。可以向其原型中動(dòng)態(tài)添加功能(屬性和方法),但該對(duì)象不能被賦予不同的原型。然而,用戶定義的對(duì)象可以被賦給新的原型。

          下面我們看三個(gè)經(jīng)典的prototype屬性的使用示例。

          1、為腳本環(huán)境內(nèi)建對(duì)象添加方法:

       Array.prototype.max = function()
       {
           
      var i, max = this[0];
           
      for (i = 1; i < this.length; i++)
           {
             
      if (max < this[i])
              max 
      = this[i];
           }
          
      return max;
       };

          2、為用戶自定義類添加方法:
       function TestObject(name)
       {
           
      this.m_Name = name;
       }

       TestObject.prototype.ShowName 
      = function()
       {
           alert(
      this.m_Name);
       };

          3、更新自定義類的prototype:
       function TestObjectA()
       {
          
      this.MethodA = function()
          {
             alert(‘TestObjectA.MethodA()‘);
          }
       }

       
      function TestObjectB()
       {
          
      this.MethodB = function()
          {
             alert(‘TestObjectB.MethodB()‘);
          }
       }

       TestObjectB.prototype 
      = new TestObjectA();

          第三個(gè)很眼熟吧?對(duì)啊,它就是我們前面介紹的原型繼承法呀~~ 不過(guò)今天我們不是研究"繼承",之所以可以這樣來(lái)實(shí)現(xiàn)一種繼承,只是利用了prototype屬性的一個(gè)副作用而已。

          prototype還有一個(gè)默認(rèn)的屬性:constructor,是用來(lái)表示創(chuàng)建對(duì)象的函數(shù)的(即我們OOP里說(shuō)的構(gòu)造函數(shù))。constructor屬性是所有具有prototype屬性的對(duì)象的成員。它們包括除Global和Math對(duì)象以外的所有JScript內(nèi)部對(duì)象。constructor屬性保存了對(duì)構(gòu)造特定對(duì)象實(shí)例的函數(shù)的引用。

          弄清楚了JScript中prototype屬性怎么使用后,下面我們?cè)賮?lái)深入的研究它。

      posted on 2005-02-17 22:59 birdshome 閱讀(7091) 評(píng)論(6)  編輯 收藏 收藏至365Key 所屬分類: JScript&DHTML開(kāi)發(fā)

      評(píng)論

      # re: JScript中的prototype(原型)屬性研究(1)  回復(fù)   

      暈,我正看著下面要怎么寫呢。敲一下回車就提交了。
      不好意思,請(qǐng)刪除。
      說(shuō)說(shuō)對(duì)第三種的看法:

      個(gè)人認(rèn)為這樣寫不是很方便。^_^

      還不如:

      function TestObjectA()
      {
      this.MethodA = function()
      {
      alert(‘TestObjectA.MethodA()‘);
      }
      this.MethodB = function()
      {
      alert(‘TestObjectB.MethodB()‘);
      }
      }

      可能是我喜歡使用js的動(dòng)態(tài)性的原因吧!
      像第三種一定得加上TestObjectB.prototype = new TestObjectA();
      這樣很不方便。
      我覺(jué)得還不如在某些不需要MethodA 的地方加上delete。這樣就很像virtual了。
      比如:
      <script>
      function A(){
      this.a = function(){
      alert("asdf");
      }
      this.b = function(){
      alert("ttt");
      }
      }
      var a = new A();
      for(var item in a) a[item]();
      delete a.a;
      for(var item in a) a[item]();
      </script>
      這樣可以想覆蓋就覆蓋,想刪除就刪除,想使用就使用。
      2005-02-18 03:43 | 辣妹子

      # re: JScript中的prototype(原型)屬性研究(1)  回復(fù)   

      這個(gè)主題專講prototype,例三只是說(shuō)明用戶可以覆蓋自定"類"的prototype而已。謝謝你的意見(jiàn),不過(guò)好像更適合JS的OOP這樣的討論哦。
      2005-02-18 10:13 | birdshome

      # re: JScript中的prototype(原型)屬性研究(1)  回復(fù)   

      "3、更新自定義類的prototype:"
      這個(gè)傻了吧? 不是也用了this.methodxx = xx了么?
      寫東西要統(tǒng)一
      2005-03-13 13:07 | xx

      # re: JScript中的prototype(原型)屬性研究(1)  回復(fù)   

      @xx
      這個(gè)和第2個(gè)一樣嗎?你理解的是什么?
      2005-03-13 13:29 | birdshome

      # re: JScript中的prototype(原型)屬性研究(1)  回復(fù)   

      好好利用prototype是我的目標(biāo)。謝謝樓主的講解,真是令人茅塞頓開(kāi)!
      2005-07-19 19:27 | 軒轅劍

      # re: JScript中的prototype(原型)屬性研究(1)  回復(fù)   

      謝謝樓主的講解 真透徹
      2005-11-23 14:11 | 大飛

        本站是提供個(gè)人知識(shí)管理的網(wǎng)絡(luò)存儲(chǔ)空間,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點(diǎn)。請(qǐng)注意甄別內(nèi)容中的聯(lián)系方式、誘導(dǎo)購(gòu)買等信息,謹(jǐn)防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請(qǐng)點(diǎn)擊一鍵舉報(bào)。
        轉(zhuǎn)藏 分享 獻(xiàn)花(0

        0條評(píng)論

        發(fā)表

        請(qǐng)遵守用戶 評(píng)論公約

        類似文章 更多