浅谈原型对象的常用开发模式


Posted in Javascript onJuly 22, 2017

1、构造函数和原型组合使用模式:原型对象虽然可以对所有实例的属性和方法共享,但是也有它的局限性,正是因为可以共享,也导致某一个实例对象若改变了共享的属性和方法,其他对象在使用时会收到影响。

所以可以组合使用构造函数式和原型模式,在实际开发中这种模式也应用的最为广泛。

2、动态原型模式:就是把属性和方法都封装到构造函数中

例如:

function Person(name,age,sex){
    this.name=name;
    this.age=age;
    this.sex=sex;
    if(typeof this.sayName!=="function"){
      Person.prototype.sayName=function(){
        console.log(this.name);
      }
    }
}

3、稳妥构造函数模式:由道格拉斯提出的,就是没有公共属性,也不实用this和new,稳妥模式最适合在安全的环境中使用,如果程序对于安全性的要求很高,那么非常适合这种模式。

例如:

function Person(name,age){
  var obj=new Object();
  obj.name=name;
  obj.age=age;
  obj.sayName=function(){
    console.log(this.name);
  }
  return obj;
}

以上这篇浅谈原型对象的常用开发模式就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持三水点靠木。

Javascript 相关文章推荐
ExtJS 工具栏 分页事件参数
Mar 05 Javascript
JavaScript的类型简单说明
Sep 03 Javascript
jquery实现简单的banner轮播效果【实例】
Mar 30 Javascript
JS实现鼠标移上去显示图片或微信二维码
Dec 14 Javascript
js实现数组去重方法及效率?Ρ? target=
Feb 14 Javascript
js表单序列化判断空值的实例
Sep 22 Javascript
详解开源的JavaScript插件化框架MinimaJS
Oct 26 Javascript
详解如何用babel转换es6的class语法
Apr 03 Javascript
Angular4 组件通讯方法大全(推荐)
Jul 12 Javascript
JS/HTML5游戏常用算法之碰撞检测 包围盒检测算法详解【凹多边形的分离轴检测算法】
Dec 13 Javascript
Layer+Echarts构建弹出层折线图的方法
Sep 25 Javascript
javascript实现点击产生随机图形
Jan 25 Javascript
浅谈事件冒泡、事件委托、jQuery元素节点操作、滚轮事件与函数节流
Jul 22 #jQuery
JS实现微信摇一摇原理解析
Jul 22 #Javascript
一个简易的js图片轮播效果
Jul 22 #Javascript
基于JS脚本语言的基础语法详解
Jul 22 #Javascript
JS原生轮播图的简单实现(推荐)
Jul 22 #Javascript
JS+HTML5实现图片在线预览功能
Jul 22 #Javascript
JQuery和html+css实现带小圆点和左右按钮的轮播图实例
Jul 22 #jQuery
You might like
PHP PDOStatement::execute讲解
2019/01/31 PHP
简单实用的PHP文本缓存类实例
2019/03/22 PHP
封装好的省市地区联动控件附下载
2007/08/13 Javascript
Jquery 设置标题的自动翻转
2009/10/03 Javascript
cocos2dx骨骼动画Armature源码剖析(一)
2015/09/08 Javascript
jquery 实现滚动条下拉时无限加载的简单实例
2016/06/01 Javascript
jquery validate表单验证插件
2016/09/06 Javascript
Bootstrap modal使用及点击外部不消失的解决方法
2016/12/13 Javascript
Vue.js实现简单动态数据处理
2017/02/13 Javascript
微信小程序开发之相册选择和拍照详解及实例代码
2017/02/22 Javascript
在 Angular 中实现搜索关键字高亮示例
2017/03/21 Javascript
详解vue2父组件传递props异步数据到子组件的问题
2017/06/29 Javascript
JavaScript选取(picking)和反选(rejecting)对象的属性方法
2017/08/16 Javascript
微信小程序左滑动显示菜单功能的实现
2018/06/14 Javascript
JQuery特殊效果和链式调用操作示例
2019/05/13 jQuery
vue3弹出层V3Popup实例详解
2021/01/04 Vue.js
[50:12]EG vs Fnatic 2018国际邀请赛小组赛BO2 第二场 8.19
2018/08/21 DOTA
简单介绍Python中的decode()方法的使用
2015/05/18 Python
Python随机生成手机号、数字的方法详解
2017/07/21 Python
Python中的错误和异常处理简单操作示例【try-except用法】
2017/07/25 Python
Python基于正则表达式实现检查文件内容的方法【文件检索】
2017/08/30 Python
tensorflow建立一个简单的神经网络的方法
2018/02/10 Python
Python中defaultdict与lambda表达式用法实例小结
2018/04/09 Python
Python3中的最大整数和最大浮点数实例
2019/07/09 Python
PYTHON EVAL的用法及注意事项解析
2019/09/06 Python
Python3 全自动更新已安装的模块实现
2020/01/06 Python
HTML5 绘制图像(上)之:关于canvas元素引领下一代web页面的问题
2013/04/24 HTML / CSS
工厂门卫岗位职责
2013/11/25 职场文书
大课间体育活动方案
2014/03/12 职场文书
2014国庆节主题活动方案:快乐的国庆节
2014/09/16 职场文书
教育实践活动对照检查材料
2014/09/23 职场文书
父亲节活动总结
2015/02/12 职场文书
2016年元旦寄语
2015/08/17 职场文书
会计做账心得体会
2016/01/22 职场文书
Kubernetes部署实例并配置Deployment、网络映射、副本集
2022/04/01 Servers
vue自定义右键菜单之全局实现
2022/04/09 Vue.js