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

首頁(yè) > 語(yǔ)言 > JavaScript > 正文

javascript原型模式用法實(shí)例詳解

2024-05-06 16:21:21
字體:
來(lái)源:轉(zhuǎn)載
供稿:網(wǎng)友

這篇文章主要介紹了javascript原型模式用法,以實(shí)例形式較為詳細(xì)的分析了javascript原型模式的原理與使用技巧,需要的朋友可以參考下

本文實(shí)例講述了javascript原型模式用法。分享給大家供大家參考。具體分析如下:

一般在了解了工廠模式和構(gòu)造函數(shù)模式的弊端之后,就知道為什么需要原型模式了

原型模式i的定義:每個(gè)函數(shù)都有一個(gè)prototype(原型)屬性,這個(gè)屬性是一個(gè)對(duì)象,它的用途是包含可以由特定類(lèi)型的所有實(shí)例共享的屬性和方法。比如在構(gòu)造函數(shù)模型中sayInformation()方法,如果聲明兩個(gè)實(shí)例就要構(gòu)造兩次sayInformation方法,但是聲明兩次是沒(méi)有必要的,這就是為什么有原型模式的出現(xiàn)(尼瑪,網(wǎng)上那些博客上面都是扯談的東西,還是看書(shū)講的容易理解),sayInformation()聲明為原型模式之后,實(shí)例就共享了,就沒(méi)有必要聲明兩次了

 

 
  1. function Person(){} 
  2. Person.prototype.name="jack"
  3. Person.prototype.age=10; 
  4. Person.prototype.sayInformation=function() 
  5. console.log("my name is"+this.name+" age is"+this.age); 
  6. var person1 = new Person(); 
  7. person1.sayInformation(); 
  8. console.info(person1.name); 
  9. //來(lái)自原型的屬性name 
  10. person1.name="Greg"
  11. //修改實(shí)例的name屬性 
  12. console.info(person1.name); 
  13. //來(lái)自實(shí)例的屬性name 
  14. delete person1.name ; 
  15. //來(lái)自實(shí)例的屬性,這里刪除的是實(shí)例的屬性,但是原型的屬性依然存在 
  16. console.info(person1.name); 
  17. //來(lái)自原型的屬性name 
  18. var person2 = new Person(); 
  19. person2.sayInformation(); 
  20. console.info(person1.hasOwnProperty("name")); 
  21. //hasOwnProperty檢查屬性是屬于實(shí)例還是原型中,如果是實(shí)例中就返回true 
  22. console.info(person1.name==person2.name); 
  23. console.info(person1.sayInformation==person2.sayInformation); 
  24. console.info(person1.constructor); 
  25. //指向person1的構(gòu)造函數(shù) 
  26. //原型更加簡(jiǎn)便的寫(xiě)法 
  27. function Person2(){} 
  28. Person2.prototype={ 
  29. name:"jack"
  30. age:29, 
  31. sayInformationfunction:function() 
  32. console.log("my name is"+this.name+" age is"+this.age); 

希望本文所述對(duì)大家的javascript程序設(shè)計(jì)有所幫助。

發(fā)表評(píng)論 共有條評(píng)論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表

圖片精選

主站蜘蛛池模板: 阿坝县| 杨浦区| 榆林市| 晋宁县| 东宁县| 故城县| 广饶县| 肃宁县| 湄潭县| 长武县| 大田县| 全南县| 呼伦贝尔市| 肥西县| 余干县| 武穴市| 磴口县| 和林格尔县| 缙云县| 玉林市| 涪陵区| 余庆县| 宿迁市| 宽城| 客服| 蓝山县| 黄平县| 荥经县| 泸水县| 武宣县| 家居| 青州市| 罗江县| 沂南县| 高邑县| 淮北市| 五华县| 望城县| 新宾| 齐齐哈尔市| 南乐县|