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


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 相关文章推荐
JavaScript静态的动态
Sep 18 Javascript
JQuery 写的个性导航菜单
Dec 24 Javascript
Javascript模块化编程(一)模块的写法最佳实践
Jan 17 Javascript
Bootstrap编写一个兼容主流浏览器的受众巨幕式风格页面
Jul 01 Javascript
学习Bootstrap滚动监听 附调用方法
Jul 02 Javascript
JS中解决谷歌浏览器记住密码输入框颜色改变功能
Feb 13 Javascript
vue中Npm run build 根据环境传递参数方法来打包不同域名
Mar 29 Javascript
jQuery+vue.js实现的多选下拉列表功能示例
Jan 15 jQuery
vue实现的微信机器人聊天功能案例【附源码下载】
Feb 18 Javascript
VUE 实现复制内容到剪贴板的两种方法
Apr 24 Javascript
详解小程序如何改变onLoad的执行时机
Nov 01 Javascript
javascript运行机制之执行顺序理解
Aug 03 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之PHP语法学习笔记1
2006/12/17 PHP
php使用exec shell命令注入的方法讲解
2013/11/12 PHP
php制作中间带自己定义图片二维码的方法
2014/01/27 PHP
CI框架表单验证实例详解
2016/11/21 PHP
Laravel框架实现多数据库连接操作详解
2019/07/12 PHP
ImageFlow可鼠标控制图片滚动
2008/01/30 Javascript
Javascript 学习书 推荐
2009/06/13 Javascript
JavaScript中关于indexOf的使用方法与问题小结
2010/08/05 Javascript
JavaScript对象创建及继承原理实例解剖
2013/02/28 Javascript
node+express+jade制作简单网站指南
2014/11/26 Javascript
js鼠标悬浮出现遮罩层的方法
2015/01/28 Javascript
jQuery延迟执行的实现方法
2016/12/21 Javascript
angular-ui-sortable实现可拖拽排序列表
2016/12/28 Javascript
微信小程序实现自上而下字幕滚动
2018/07/14 Javascript
微信小程序地图(map)组件点击(tap)获取经纬度的方法
2019/01/10 Javascript
Vue2.0实现组件之间数据交互和通信操作示例
2019/05/16 Javascript
[10:53]2018DOTA2国际邀请赛寻真——EG
2018/08/11 DOTA
[03:11]不朽宝藏三外观展示
2020/09/18 DOTA
使用Python监视指定目录下文件变更的方法
2018/10/15 Python
对python中dict和json的区别详解
2018/12/18 Python
django 消息框架 message使用详解
2019/07/22 Python
Pycharm+django2.2+python3.6+MySQL实现简单的考试报名系统
2019/09/05 Python
基于CSS3实现的黑色个性导航菜单效果
2015/09/14 HTML / CSS
CSS3制作皮卡丘动画壁纸的示例
2020/11/02 HTML / CSS
美国在线宠物商店:Chewy
2019/01/12 全球购物
得到Class的三个过程是什么
2012/08/10 面试题
大学生学习自我评价
2014/01/13 职场文书
文科生自我鉴定
2014/02/15 职场文书
法院信息化建设方案
2014/05/21 职场文书
2014年小学生教师节演讲稿范文
2014/09/10 职场文书
物业管理交接协议书
2016/03/24 职场文书
古诗之感恩老师
2019/10/24 职场文书
pytorch model.cuda()花费时间很长的解决
2021/06/01 Python
关于CSS浮动与取消浮动的问题
2021/06/28 HTML / CSS
DE1103使用报告
2022/04/05 无线电
PHP正则表达式之RCEService回溯
2022/04/11 PHP