当前位置: 首页 > news >正文

河北邯郸封闭最新消息/常熟seo网站优化软件

河北邯郸封闭最新消息,常熟seo网站优化软件,东莞建设网站官网住房和城乡资料,哪个网站做外贸的javascript创建对象的方法--动态原型模式 一、总结 1、作用:解决组合模式的属性和函数分离问题 2、思路:基本思路和组合模式相同:共用的函数和属性用原型方式,非共用的的函数和属性用构造函数的方式 二、javascript创建对象的方法…

javascript创建对象的方法--动态原型模式

一、总结

1、作用:解决组合模式的属性和函数分离问题 

2、思路:基本思路和组合模式相同:共用的函数和属性用原型方式,非共用的的函数和属性用构造函数的方式

 

二、javascript创建对象的方法--动态原型模式

动态原型方法

动态原型方法的基本想法与混合的构造函数原型方式相同,即在构造函数内定义非函数属性,而函数属性则利用原型属性定义。

组合模式中实例属性与共享方法(由原型定义)是分离的,这与纯面向对象语言不太一致;动态原型模式将所有构造信息都封装在构造函数中,又保持了组合的优点。

其原理就是通过判断构造函数的原型中是否已经定义了共享的方法或属性,如果没有则定义,否则不再执行定义过程。该方式只原型上方法或属性只定义一次,且将所有构造过程都封装在构造函数中,对原型所做的修改能立即体现所有实例

 

三、代码

 1 <!DOCTYPE html>
 2 <html lang="zh-cn">
 3 <head>
 4   <meta charset="utf-8">
 5   <title>课堂演示</title>
 6 </head>
 7 <body>
 8   <script>
 9 //构造函数和原型组合模式
10     //  function Monster(name,arr){
11     //     constructor: Monster, 
12     //     this.name=name
13     //     this.job=arr
14     //  } 
15     // Monster.prototype={
16     //   run:function() {return this.name+'的工作是'+this.job }
17     // } 
18     // var monsterI=new Monster('小旋风',['巡山','打更','砍柴'])
19     // var monsterII=new Monster('小钻风',['巡山','打更','挑水'])
20     // alert(monsterI.run())
21     // alert(monsterII.run())
22 //动态原型模式
23  function MonsterGo(name,arr){
24     this.name=name
25     this.job=arr 
26     if (typeof this.run!= "function") 
27     // {alert('对象初始化')
28         MonsterGo.prototype.run=function(){
29           return this.name+'的工作是'+this.job 
30         }
31         // alert('初始化结束')
32     }
33  } 
34  var monsterI=new MonsterGo('小旋风',['巡山','打更','砍柴'])
35  var monsterII=new MonsterGo('小钻风',['巡山','打更','挑水'])
36 var monsterI2=new MonsterGo('小旋风',['巡山','打更','砍柴'])
37  var monsterII2=new MonsterGo('小钻风',['巡山','打更','挑水'])
38   // alert(monsterI.run())
39   // alert(monsterII.run())
40   </script>
41 </body>
42 </html>

1、重要:第26行,如果共用属性或者方法(就是原型模式定义的,第28-30行)定义了的话,就不再初始化

 

转载于:https://www.cnblogs.com/Renyi-Fan/p/8994295.html

http://www.lbrq.cn/news/1284895.html

相关文章:

  • 微官网和公众号的区别/汕头seo网络推广服务
  • 做网站需要买什么东西/网站互联网推广
  • 海北wap网站建设/创建网址快捷方式
  • 网站图片是用什么软件做的/黑龙江头条今日新闻
  • 网站怎么做才可以做评价/磁力猫最佳搜索引擎入口
  • 怎样做理财投资网站/百度销售平台怎样联系
  • 网站备案幕布照规范/网络营销以什么为中心
  • 返回邢台最新规定/seo教学网seo
  • 17一起做网站zwd.com/成都网站seo收费标准
  • 织梦网站做中英文双语言版本/长春seo招聘
  • 基层人武部正规化建设/北京seo培训机构
  • 西安专业网站开发哪家好/软文推广去哪个平台好
  • 阿里免费做网站/公司培训课程有哪些
  • 城乡建设与管理委员会网站/短视频seo厂家
  • 网站必须做公安部备案/什么是关键词
  • 网站建设费用 百度文库/一个平台怎么推广
  • 手机微信官方网站/seo营销网站的设计标准
  • 网站开发需要哪些人/线上推广是做什么的
  • 营销型网站是啥/杭州百度优化
  • 朝阳网站建设公司/最近一周的新闻
  • 移动门网站建设/seo查询官方网站
  • 做网站必须托管服务器吗/百度快速排名系统查询
  • 小米路由3g wordpress/淮北seo
  • 网站建设开发软件/地推扫码平台
  • b站24小时直播间十大软件/怎么把产品推广到各大平台
  • 市网站制作/百度网站推广费用
  • 威海专业做网站设计的公司/seo是什么的简称
  • 怎么增加网站关键词库/传统营销与网络营销的区别
  • 重庆网站建设沛宣网络/百度公司官网招聘
  • 工作室怎么网站备案/贵阳网络推广排名
  • Swagger 配置及使用指南
  • Java操作Excel文档
  • 图片查重从设计到实现(5)Milvus可视化工具
  • MyBatis_3
  • 1. 多线程开发
  • Qt 远程过程调用(RPC)实现方案