• <fieldset id="8imwq"><menu id="8imwq"></menu></fieldset>
  • <bdo id="8imwq"><input id="8imwq"></input></bdo>
    最新文章專題視頻專題問答1問答10問答100問答1000問答2000關鍵字專題1關鍵字專題50關鍵字專題500關鍵字專題1500TAG最新視頻文章推薦1 推薦3 推薦5 推薦7 推薦9 推薦11 推薦13 推薦15 推薦17 推薦19 推薦21 推薦23 推薦25 推薦27 推薦29 推薦31 推薦33 推薦35 推薦37視頻文章20視頻文章30視頻文章40視頻文章50視頻文章60 視頻文章70視頻文章80視頻文章90視頻文章100視頻文章120視頻文章140 視頻2關鍵字專題關鍵字專題tag2tag3文章專題文章專題2文章索引1文章索引2文章索引3文章索引4文章索引5123456789101112131415文章專題3
    問答文章1 問答文章501 問答文章1001 問答文章1501 問答文章2001 問答文章2501 問答文章3001 問答文章3501 問答文章4001 問答文章4501 問答文章5001 問答文章5501 問答文章6001 問答文章6501 問答文章7001 問答文章7501 問答文章8001 問答文章8501 問答文章9001 問答文章9501
    當前位置: 首頁 - 科技 - 知識百科 - 正文

    淺析JavaScript中的類型和對象_javascript技巧

    來源:懂視網 責編:小采 時間:2020-11-27 21:16:33
    文檔

    淺析JavaScript中的類型和對象_javascript技巧

    淺析JavaScript中的類型和對象_javascript技巧:JavaScript是基于對象的,任何元素都可以看成對象。然而,類型和對象是不同的。本文中,我們除了討論類型和對象的一些特點之外,更重要的是研究如何寫出好的并且利于重用的類型。畢竟,JavaScript這種流行的腳本語言如果能夠進行良好的封裝,并形成一個龐大的
    推薦度:
    導讀淺析JavaScript中的類型和對象_javascript技巧:JavaScript是基于對象的,任何元素都可以看成對象。然而,類型和對象是不同的。本文中,我們除了討論類型和對象的一些特點之外,更重要的是研究如何寫出好的并且利于重用的類型。畢竟,JavaScript這種流行的腳本語言如果能夠進行良好的封裝,并形成一個龐大的

    JavaScript是基于對象的,任何元素都可以看成對象。然而,類型和對象是不同的。本文中,我們除了討論類型和對象的一些特點之外,更重要的是研究如何寫出好的并且利于重用的類型。畢竟,JavaScript這種流行的腳本語言如果能夠進行良好的封裝,并形成一個龐大的類型庫,對于重用是非常有意義的。

    網上對于prototype的文章很多,一直沒明白核心的思想。最后寫了很多例子代碼后才明白:prototype只能用在類型上。

    以下是一些關于類型和對象的例子,大家看完例子后可能更容易理解類型和對象之間的聯系:

    例子代碼 說明
    1 Object.prototype.Property = 1;
    Object.prototype.Method = function () { alert(1); } var obj = new Object(); alert(obj.Property); obj.Method();
    可以在類型上使用proptotype來為類型添加行為。這些行為只能在類型的實例上體現。

    JS中允許的類型有Array, Boolean, Date, Enumerator, Error, Function, Number, Object, RegExp, String

    2 var obj = new Object();
    obj.prototype.Property = 1; //Error //Error obj.prototype.Method = function() { alert(1); }
    在實例上不能使用prototype,否則發生編譯錯誤
    3 Object.Property = 1; Object.Method = function() { alert(1); } alert(Object.Property); Object.Method(); 可以為類型定義“靜態”的屬性和方法,直接在類型上調用即可
    4 Object.Property = 1; Object.Method = function() { alert(1); } var obj = new Object(); alert(obj.Property); //Error obj.Method(); //Error 實例不能調用類型的靜態屬性或方法,否則發生對象未定義的錯誤。
    5 function Aclass() { this.Property = 1; this.Method = function() { alert(1); } } var obj = new Aclass(); alert(obj.Property); obj.Method(); 這個例子演示了通常的在JavaScript中定義一個類型的方法
    6 function Aclass() { this.Property = 1; this.Method = function() { alert(1); } } Aclass.prototype.Property2 = 2; Aclass.prototype.Method2 = function { alert(2); } var obj = new Aclass(); alert(obj.Property2); obj.Method2(); 可以在外部使用prototype為自定義的類型添加屬性和方法。
    7 function Aclass() { this.Property = 1; this.Method = function() { alert(1); } } Aclass.prototype.Property = 2; Aclass.prototype.Method = function { alert(2); } var obj = new Aclass(); alert(obj.Property); obj.Method(); 在外部不能通過prototype改變自定義類型的屬性或方法。 該例子可以看到:調用的屬性和方法仍是最初定義的結果。
    8 function Aclass() { this.Property = 1; this.Method = function() { alert(1); } } var obj = new Aclass(); obj.Property = 2; obj.Method = function() { alert(2); } alert(obj.Property); obj.Method(); 可以在對象上改變屬性。(這個是肯定的) 也可以在對象上改變方法。(和普遍的面向對象的概念不同)
    9 function Aclass() { this.Property = 1; this.Method = function() { alert(1); } } var obj = new Aclass(); obj.Property2 = 2; obj.Method2 = function() { alert(2); } alert(obj.Property2); obj.Method2(); 可以在對象上增加屬性或方法
    10 function AClass() { this.Property = 1; this.Method = function() { alert(1); } } function AClass2() { this.Property2 = 2; this.Method2 = function() { alert(2); } } AClass2.prototype = new AClass(); var obj = new AClass2(); alert(obj.Property); obj.Method(); alert(obj.Property2); obj.Method2(); 這個例子說明了一個類型如何從另一個類型繼承。
    11 function AClass() { this.Property = 1; this.Method = function() { alert(1); } } function AClass2() { this.Property2 = 2; this.Method2 = function() { alert(2); } } AClass2.prototype = new AClass(); AClass2.prototype.Property = 3; AClass2.prototype.Method = function() { alert(4); } var obj = new AClass2(); alert(obj.Property); obj.Method(); 這個例子說明了子類如何重寫父類的屬性或方法。

    以上例子中,關于通過類型實現重用方面,重要的有:
    ·例子1:JavaScript中允許添加行為的類型
    ·例子2:prototype使用的限制
    ·例子3:如何定義類型上的靜態成員
    ·例子7:prototype在重定義類型的成員上的限制
    ·例子10:如何讓一個類型繼承于另一個類型
    ·例子11:如何在子類中重新定義父類的成員

    JavaScript能夠實現的面向對象的特征有:
    ·公有屬性(public field)
    ·公有方法(public Method)
    ·私有屬性(private field)
    ·私有方法(private field)
    ·方法重載(method overload)
    ·構造函數(constructor)
    ·事件(event)
    ·單一繼承(single inherit)
    ·子類重寫父類的屬性或方法(override)
    ·靜態屬性或方法(static member)

    聲明:本網頁內容旨在傳播知識,若有侵權等問題請及時與本網聯系,我們將在第一時間刪除處理。TEL:177 7030 7066 E-MAIL:11247931@qq.com

    文檔

    淺析JavaScript中的類型和對象_javascript技巧

    淺析JavaScript中的類型和對象_javascript技巧:JavaScript是基于對象的,任何元素都可以看成對象。然而,類型和對象是不同的。本文中,我們除了討論類型和對象的一些特點之外,更重要的是研究如何寫出好的并且利于重用的類型。畢竟,JavaScript這種流行的腳本語言如果能夠進行良好的封裝,并形成一個龐大的
    推薦度:
    標簽: 類型 的類型 對象
    • 熱門焦點

    最新推薦

    猜你喜歡

    熱門推薦

    專題
    Top
    主站蜘蛛池模板: 久久久久亚洲精品天堂久久久久久| 亚洲国产精品专区在线观看| 久久久久无码精品| 国产午夜精品一区二区三区漫画| 国产精品视频不卡| 久久国产精品99国产精| 欧美精品综合视频一区二区| 四虎国产精品永久地址99| 日韩精品一区二区三区色欲AV| 精品久久国产一区二区三区香蕉| 成人国产精品高清在线观看| 亚洲国产精品无码久久98| 日本精品自产拍在线观看中文| 国产精品H片在线播放| 青青青青久久精品国产| 国产精品国产三级国产AV主播| 亚洲精品无码鲁网中文电影| 久久久久久国产精品无码下载 | 精品欧美一区二区在线观看 | 国产精品视频a播放| 精品无码人妻夜人多侵犯18| 亚洲精品麻豆av| 偷拍精品视频一区二区三区| 久久97久久97精品免视看秋霞| 99RE8这里有精品热视频| 久久亚洲精品视频| 国产精品视频免费| 国产精品亚洲专区在线观看| 2020久久精品国产免费| 国产成人精品手机在线观看| 亚洲中文字幕无码久久精品1 | 久久夜色精品国产亚洲| 国产91久久精品一区二区| 国产精品福利自产拍在线观看| 精品国产福利在线观看| 精品人伦一区二区三区潘金莲| 久久精品国产亚洲av高清漫画 | 中文字幕一区二区三区日韩精品 | 四虎成人精品免费影院| 日本人精品video黑人| 91精品婷婷国产综合久久|