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


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 window.setTimeout() 的详细用法
Nov 04 Javascript
JS关键字变色实现思路及代码
Feb 21 Javascript
jQuery简单实现隐藏以及显示特效
Feb 26 Javascript
javascript中offset、client、scroll的属性总结
Aug 13 Javascript
纯JavaScript代码实现移动设备绘图解锁
Oct 16 Javascript
Node.js+Express配置入门教程详解
May 19 Javascript
浅谈jquery的map()和each()方法
Jun 12 Javascript
浅谈jQuery中ajaxPrefilter的应用
Aug 01 Javascript
Vue项目报错:Uncaught SyntaxError: Unexpected token
Nov 10 Javascript
webpack4之如何编写loader的方法步骤
Jun 06 Javascript
解决nuxt 自定义全局方法,全局属性,全局变量的问题
Nov 05 Javascript
jquery自定义组件实例详解
Dec 31 jQuery
浅谈事件冒泡、事件委托、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中常用的转义函数
2014/02/28 PHP
set_exception_handler函数在ThinkPHP中的用法
2014/10/31 PHP
thinkPHP5.0框架API优化后的友好性分析
2017/03/17 PHP
javascript 常用代码技巧大收集
2009/02/25 Javascript
浅谈javascript的数据类型检测
2010/07/10 Javascript
php与js的区别是什么
2013/08/05 Javascript
js中return false(阻止)的用法
2013/08/14 Javascript
将list转换为json失败的原因
2013/12/17 Javascript
jQuery+CSS3实现3D立方体旋转效果
2015/11/10 Javascript
Web前端开发工具——bower依赖包管理工具
2016/03/29 Javascript
jQuery的文档处理程序详解
2016/05/10 Javascript
JS Attribute属性操作详解
2016/05/19 Javascript
jQuery日程管理插件fullcalendar使用详解
2017/01/07 Javascript
利用JavaScript在网页实现八数码启发式A*算法动画效果
2017/04/16 Javascript
ES5 ES6中Array对象去除重复项的方法总结
2017/04/27 Javascript
JavaScript递归函数解“汉诺塔”算法代码解析
2018/07/05 Javascript
Jquery获取radio选中值实例总结
2019/01/17 jQuery
jQuery实现的网站banner图片无缝轮播效果完整实例
2019/01/28 jQuery
layerui代码控制tab选项卡,添加,关闭的实例
2019/09/04 Javascript
js实现微信聊天效果
2020/08/09 Javascript
浅谈Python的Django框架中的缓存控制
2015/07/24 Python
浅谈python中的正则表达式(re模块)
2017/10/17 Python
pycharm运行和调试不显示结果的解决方法
2018/11/30 Python
解决pyinstaller打包pyqt5的问题
2019/01/08 Python
python爬虫库scrapy简单使用实例详解
2020/02/10 Python
英国鹦鹉店:Parrot Essentials
2018/12/03 全球购物
经典c++面试题六
2012/01/18 面试题
计算机维护专业推荐信
2014/02/27 职场文书
技术总监管理职责范本
2014/03/06 职场文书
中国好声音华少广告词
2014/03/17 职场文书
追悼会主持词
2014/03/20 职场文书
四年级评语大全
2014/04/21 职场文书
考博专家推荐信
2014/05/10 职场文书
俄语专业毕业生求职信
2014/07/12 职场文书
2014年初中班主任工作总结
2014/11/08 职场文书
2016春节慰问信范文
2015/03/25 职场文书