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


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 相关文章推荐
JQuery与JSon实现的无刷新分页代码
Sep 13 Javascript
jQuery 属性选择器element[herf*='value']使用示例
Oct 20 Javascript
sails框架的学习指南
Dec 22 Javascript
jQuery中children()方法用法实例
Jan 07 Javascript
JavaScript学习小结之使用canvas画“哆啦A梦”时钟
Jul 24 Javascript
javascript入门之数组[新手必看]
Nov 21 Javascript
JS前端开发判断是否是手机端并跳转操作(小结)
Feb 05 Javascript
详解Node.js串行化流程控制
May 04 Javascript
浅谈FastClick 填坑及源码解析
Mar 02 Javascript
关于layui flow loading占位图的实现方法
Sep 21 Javascript
原生Vue 实现右键菜单组件功能
Dec 16 Javascript
js面向对象之实现淘宝放大镜
Jan 15 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中使用PDF文档功能
2006/10/09 PHP
PHP发明人谈MVC和网站设计架构 貌似他不支持php用mvc
2011/06/04 PHP
PHP表单递交控件名称含有点号(.)会被转化为下划线(_)的处理方法
2013/01/06 PHP
PHP中文字符串截断无乱码解决方法
2016/10/10 PHP
Zend Framework入门教程之Zend_Session会话操作详解
2016/12/08 PHP
php 猴子摘桃的算法
2017/06/20 PHP
php 与 nginx 的处理方式及nginx与php-fpm通信的两种方式
2018/09/28 PHP
js实现ASP分页函数 HTML分页函数
2006/09/22 Javascript
JavaScript CSS菜单功能 改进版
2008/12/20 Javascript
ExtJS 2.0实用简明教程 之获得ExtJS
2009/04/29 Javascript
javascript正则表达式中参数g(全局)的作用
2010/11/11 Javascript
js中浮点型运算BUG的解决方法说明
2014/01/06 Javascript
nodejs命令行参数处理模块commander使用实例
2014/09/17 NodeJs
jQuery实现按钮的点击 全选/反选 单选框/复选框 文本框 表单验证
2015/06/25 Javascript
jQuery实现的手机发送验证码倒计时效果代码分享
2015/08/24 Javascript
jQuery实现带动画效果的多级下拉菜单代码
2015/09/08 Javascript
jQuery实现简易的天天爱消除小游戏
2015/10/16 Javascript
jQuery删除当前节点元素
2016/12/07 Javascript
Bootstrap选项卡学习笔记分享
2017/02/13 Javascript
基于jstree使用AJAX请求获取数据形成树
2017/08/29 Javascript
Angularjs按需查询实例代码
2017/10/30 Javascript
vue实现通讯录功能
2018/07/14 Javascript
JavaScript数组基于交换的排序示例【冒泡排序】
2018/07/21 Javascript
详解vue.js下引入百度地图jsApi的两种方法
2018/07/27 Javascript
通过函数作用域和块级作用域看javascript的作用域链
2018/08/05 Javascript
对layui中的onevent 和event的使用详解
2019/09/06 Javascript
[05:02][DOTA2]DOTA进化论 第一期
2013/09/27 DOTA
[02:32]DOTA2英雄基础教程 美杜莎
2014/01/07 DOTA
Python实现的凯撒密码算法示例
2018/04/12 Python
Django框架 querySet功能解析
2019/09/04 Python
CSS3教程:background-clip和background-origin
2008/10/17 HTML / CSS
简单介绍Object类的功能、常用方法
2013/10/02 面试题
文秘专业大学生求职信
2013/11/10 职场文书
大学优秀班集体申报材料
2014/05/23 职场文书
乡镇党员群众路线教育实践活动对照检查材料思想汇报
2014/10/05 职场文书
后勤工作个人总结
2015/02/28 职场文书