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


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 相关文章推荐
键盘 keycode的值 javascript时触发事件时很有用的要素
Nov 02 Javascript
JS页面延迟执行一些方法(整理)
Nov 11 Javascript
二叉树先序遍历的非递归算法具体实现
Jan 09 Javascript
简单讲解jQuery中的子元素过滤选择器
Apr 18 Javascript
jQuery插件datatables使用教程
Apr 21 Javascript
实例讲解jQuery中对事件的命名空间的运用
May 24 Javascript
深入理解js中this的用法
May 28 Javascript
JavaScript、C# URL编码、解码总结
Jan 21 Javascript
jQuery阻止移动端遮罩层后页面滚动
Mar 15 Javascript
jQuery实现的页面详情展开收起功能示例
Jun 11 jQuery
vue 关闭浏览器窗口的时候,清空localStorage的数据示例
Nov 06 Javascript
Vue 修改网站图标的方法
Dec 31 Vue.js
浅谈事件冒泡、事件委托、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 进程锁定问题分析研究
2009/11/24 PHP
PHP的Laravel框架结合MySQL与Redis数据库的使用部署
2016/03/21 PHP
IE浏览器IFrame对象内存不释放问题解决方法
2014/08/22 Javascript
javascript实现动态模态绑定grid过程代码
2014/09/22 Javascript
微信页面倒计时代码(解决safari不兼容date的问题)
2016/12/13 Javascript
jQuery使用eraser.js插件实现擦除、刮刮卡效果的方法【附eraser.js下载】
2017/04/28 jQuery
文本溢出插件jquery.dotdotdot.js使用方法详解
2017/06/22 jQuery
Vue中props的使用详解
2018/06/15 Javascript
Vue中使用 setTimeout() setInterval()函数的问题
2018/09/13 Javascript
微信小程序:报错(in promise) MiniProgramError
2020/10/30 Javascript
vue实现动态表格提交参数动态生成控件的操作
2020/11/09 Javascript
解决vue使用vant轮播组件swipe + flex时文字抖动问题
2021/01/07 Vue.js
Python列表推导式的使用方法
2013/11/21 Python
python使用pil库实现图片合成实例代码
2018/01/20 Python
python如何让类支持比较运算
2018/03/20 Python
django 发送邮件和缓存的实现代码
2018/07/18 Python
Centos下实现安装Python3.6和Python2共存
2018/08/15 Python
python3使用腾讯企业邮箱发送邮件的实例
2019/06/28 Python
三步解决python PermissionError: [WinError 5]拒绝访问的情况
2020/04/22 Python
详解html5 canvas常用api总结(二)--绘图API
2016/12/14 HTML / CSS
澳大利亚运动鞋零售商:The Athlete’s Foot
2018/11/04 全球购物
俄罗斯玩具、儿童用品、儿童服装和鞋子网上商店:MyToys.ru
2019/10/14 全球购物
如何用PHP实现邮件发送
2012/12/26 面试题
企业给企业的表扬信
2014/01/13 职场文书
幼儿园课题实施方案
2014/05/14 职场文书
升学宴演讲稿
2014/09/01 职场文书
农村党支部书记司法四风问题对照检查材料
2014/09/26 职场文书
2014年医德医风工作总结
2014/11/13 职场文书
实习单位证明范例
2014/11/17 职场文书
2014财务年终工作总结
2014/12/08 职场文书
房屋所有权证明
2015/06/19 职场文书
教师节主题班会方案
2015/08/17 职场文书
2016年优秀党员教师先进事迹材料
2016/02/29 职场文书
前端实现滑动按钮AJAX与后端交互的示例代码
2022/02/24 Javascript
MySQL中的全表扫描和索引树扫描
2022/05/15 MySQL
MySQL添加索引特点及优化问题
2022/07/23 MySQL