国产99久久精品_欧美日本韩国一区二区_激情小说综合网_欧美一级二级视频_午夜av电影_日本久久精品视频

最新文章專題視頻專題問答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
主站蜘蛛池模板: 五月婷婷在线视频 | 免费精品国产日韩热久久 | 欧美第一网站 | 日本特级淫片免费 | 国产欧美综合精品一区二区 | 国产精彩视频在线观看 | 亚洲欧美一区二区三区孕妇 | 成人特黄午夜性a一级毛片 成人国产一区二区三区精品 | 国模吧国模吧一二区 | 一道本一区二区三区 | 免费看一级黄色毛片 | 极品美女一区二区三区 | 91精品啪在线观看国产线免费 | 亚洲高清视频在线 | 熟年交尾五十路视频在线播放 | 欧美亚洲欧美 | 日韩欧美伊人久久大香线蕉 | 免费一区二区三区免费视频 | 亚洲啪啪网址 | 手机在线观看国产精选免费 | 中文字幕va一区二区三区 | 亚洲一区二区三区夜色 | 91在线视频一区 | 久久网伊人 | 九九精品视频一区二区三区 | 特黄日韩免费一区二区三区 | 久久久久国产成人精品亚洲午夜 | 国产免费高清视频在线观看不卡 | 日韩中文在线观看 | 久久久这里有精品999 | 欧美高清一区二区 | 午夜一级| 香蕉视频在线观看网站 | 中文字幕在线不卡视频 | 卡通动漫第一页 | 日韩国产欧美 | va欧美国产在线视频 | 欧美日韩在线高清 | 久久精品国产一区二区三区不卡 | 欧美日韩国产在线播放 | 国产69精品久久久久777 |