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

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

    • 分享

      用JAVASCRIPT實現(xiàn)靜態(tài)對象、靜態(tài)方法和靜態(tài)屬性

       CevenCheng 2012-05-24

      用JAVASCRIPT實現(xiàn)靜態(tài)對象、靜態(tài)方法和靜態(tài)屬性

      Javascript語言的面向對象特征很弱,其他面向對象語言在創(chuàng)建類時只要使用關鍵字static即可指定類為靜態(tài)類,Javascript沒有提供static這樣的關鍵字,要讓Javascript也具有“靜態(tài)”特性只有靠一些“奇技淫巧”了。

      代碼中列舉了兩種靜態(tài)方法/屬性的實現(xiàn)方式,一種是靜態(tài)類的靜態(tài)方法和屬性,另一種是非靜態(tài)類的靜態(tài)方法和屬性,代碼說明都寫在每行的代碼注釋里,這里就不重復了。

      JAVASCRIPT:

      1. /****************************************
      2. * 方法一
      3. * 類、方法、屬性都為靜態(tài)類型
      4. * 不能創(chuàng)建實例
      5. *****************************************/
      6. var Time = {
      7.     today: ‘2009-3-8′,
      8.     weather: ‘rain’,
      9.     show: function() {
      10.         alert(‘Today is ‘ + this.today);
      11.     }
      12. };
      13.  
      14. //靜態(tài)對象可直接使用,無需創(chuàng)建實例
      15. alert(‘It is ‘ + Time.weather + ‘ today.’);
      16. Time.show();
      17.  
      18. //下面的代碼會出錯,因為靜態(tài)類不能創(chuàng)建實例
      19. //var t = new Time();
      20. //t.show();
      21.  
      22. /****************************************
      23. * 方法二
      24. * 普通對象,同時擁有靜態(tài)和非靜態(tài)屬性、方法
      25. * 可以用實例化
      26. * 注意:
      27. *   1.靜態(tài)方法/屬性使用類名訪問
      28. *   2.非靜態(tài)方法/屬性使用實例名訪問
      29. *****************************************/
      30. function Person(name) {
      31.     //非靜態(tài)屬性
      32.     this.name = name;
      33.     //非靜態(tài)方法
      34.     this.show = function() {
      35.         alert(‘My name is ‘ + this.name + ‘.’);
      36.     }
      37. }
      38. //添加靜態(tài)屬性,人都是一張嘴
      39. Person.mouth = 1;
      40. //添加靜態(tài)方法,哇哇大哭
      41. Person.cry = function() {
      42.     alert(‘Wa wa wa …’);
      43. };
      44. //使用prototype關鍵字添加非靜態(tài)屬性,每個人的牙可能不一樣多
      45. Person.prototype.teeth = 32;
      46.  
      47. //非靜態(tài)方法必須通過類的實例來訪問
      48. var me = new Person(‘Zhangsan’);
      49. //使用非靜態(tài)方法、屬性
      50. me.show();
      51. alert(‘I have ‘ + me.teeth + ‘ teeth.’);
      52. //使用靜態(tài)方法、屬性
      53. Person.cry();
      54. alert(‘I have ‘ + Person.mouth + ‘ mouth.’);

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

        0條評論

        發(fā)表

        請遵守用戶 評論公約

        類似文章 更多