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


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编写的第一人称射击游戏
Feb 25 Javascript
javascript编程起步(第七课)
Feb 27 Javascript
Jquery升级新版本后选择器的语法问题
Jun 02 Javascript
基于jQuery的实现简单的分页控件
Oct 10 Javascript
收集的10个免费的jQuery相册
Feb 26 Javascript
关闭浏览器时提示onbeforeunload事件
Dec 25 Javascript
使用delegate方法为一个tr标签加一个链接
Jun 27 Javascript
使用window.prompt()实现弹出用户输入的对话框
Apr 13 Javascript
使用jQuery制作Web页面遮罩层插件的实例教程
May 26 Javascript
JavaScript中0、空字符串、'0'是true还是false的知识点分享
Sep 16 Javascript
layui table 表格上添加日期控件的两种方法
Sep 28 Javascript
javascript设计模式 ? 简单工厂模式原理与应用实例分析
Apr 09 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
德生1994机评
2021/03/02 无线电
打造计数器DIY三步曲(中)
2006/10/09 PHP
php图片上传存储源码并且可以预览
2011/08/26 PHP
解析如何用php screw加密php源代码
2013/06/20 PHP
php生成随机颜色方法汇总
2014/12/03 PHP
经常用的图片在容器中的水平垂直居中实例
2007/06/10 Javascript
wordpress之js库集合研究介绍
2007/08/17 Javascript
jquery1.4 教程二 ajax方法的改进
2010/02/25 Javascript
juqery 学习之五 文档处理 插入
2011/02/11 Javascript
浅谈JSON.parse()和JSON.stringify()
2015/07/14 Javascript
使用JQuery在线制作ppt并在线演示源码特效
2015/09/08 Javascript
javascript图片滑动效果实现
2021/01/28 Javascript
JS使用post提交的两种方式
2015/12/03 Javascript
json实现添加、遍历与删除属性的方法
2016/06/17 Javascript
实现easyui的datagrid导出为excel的示例代码
2016/11/10 Javascript
12 款 JS 代码测试必备工具(翻译)
2016/12/13 Javascript
聊聊JavaScript如何实现继承及特点
2017/04/07 Javascript
Vuex中mutations与actions的区别详解
2018/03/01 Javascript
Vue EventBus自定义组件事件传递
2018/06/25 Javascript
vue的keep-alive中使用EventBus的方法
2019/04/23 Javascript
解决vue动态下拉菜单 有数据未反应的问题
2020/08/06 Javascript
python支持断点续传的多线程下载示例
2014/01/16 Python
Python使用htpasswd实现基本认证授权的例子
2014/06/10 Python
Python比较两个图片相似度的方法
2015/03/13 Python
如何用itertools解决无序排列组合的问题
2017/05/18 Python
你真的了解Python的random模块吗?
2017/12/12 Python
TensorFlow入门使用 tf.train.Saver()保存模型
2018/04/24 Python
详解Python IO编程
2020/07/24 Python
15款Python编辑器的优缺点,别再问我“选什么编辑器”啦
2020/10/19 Python
HTML5实现移动端复制功能
2018/04/19 HTML / CSS
巴黎一票通:The Paris Pass
2018/02/10 全球购物
生产部厂长职位说明书
2014/03/03 职场文书
喜之郎果冻广告词
2014/03/20 职场文书
教师新年寄语
2014/04/03 职场文书
2014年妇幼保健工作总结
2014/12/08 职场文书
如何使用vue3打造一个物料库
2021/05/08 Vue.js