国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 網站 > WEB開發 > 正文

深入理解javascript原型和閉包(7)——原型的靈活性

2024-04-27 15:16:24
字體:
來源:轉載
供稿:網友

原文地址:http://www.cnblogs.com/wangfupeng1988/p/3980065.html

java和C#中,你可以簡單的理解class是一個模子,對象就是被這個模子壓出來的一批一批月餅(中秋節剛過完)。壓個啥樣,就得是個啥樣,不能隨便動,動一動就壞了。

而在javascript中,就沒有模子了,月餅被換成了面團,你可以捏成自己想要的樣子。

 

首先,對象屬性可以隨時改動。

對象或者函數,剛開始new出來之后,可能啥屬性都沒有。但是你可以這會兒加一個,過一會兒在加兩個,非常靈活。

在jQuery的源碼中,對象被創建時什么屬性都沒有,都是代碼一步一步執行時,一個一個加上的。

 

其次,如果繼承的方法不合適,可以做出修改。

如上圖,Object和Array的toString()方法不一樣。肯定是Array.PRototype.toString()方法做了修改。

同理,我也可以自定義一個函數,并自己去修改prototype.toString()方法。

 

最后,如果感覺當前缺少你要用的方法,可以自己去創建。

例如在json2.js源碼中,為Date、String、Number、Boolean方法添加一個toJSON的屬性。

如果你要添加內置方法的原型屬性,最好做一步判斷,如果該屬性不存在,則添加。如果本來就存在,就沒必要再添加了。


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 浦城县| 来安县| 合阳县| 工布江达县| 盘锦市| 建德市| 尉犁县| 仙桃市| 庆城县| 固镇县| 观塘区| 嵊州市| 延津县| 汶川县| 乐业县| 安国市| 崇礼县| 叶城县| 岳西县| 都兰县| 凯里市| 大庆市| 若羌县| 金川县| 红河县| 江源县| 柳江县| 台安县| 都匀市| 平乐县| 上林县| 临邑县| 大姚县| 临清市| 棋牌| 鄂尔多斯市| 大理市| 承德县| 遂昌县| 静海县| 海兴县|