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


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插件之easing使用
Aug 19 Javascript
关于Javascript模块化和命名空间管理的问题说明
Dec 06 Javascript
用html+css+js实现的一个简单的图片切换特效
May 28 Javascript
jQuery选择器用法实例详解
Dec 17 Javascript
使用HTML5+Boostrap打造简单的音乐播放器
Aug 05 Javascript
JS实现仿PS的调色板效果完整实例
Dec 21 Javascript
利用JS实现简单的日期选择插件
Jan 23 Javascript
jQuery页面弹出框实现文件上传
Feb 09 Javascript
JavaScript实现隐藏省略文字效果的方法
Apr 27 Javascript
详解vue-cli项目中怎么使用mock数据
May 29 Javascript
Vue-input框checkbox强制刷新问题
Apr 18 Javascript
详细分析Node.js 多进程
Jun 22 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 实例化类的一点摘记
2008/03/23 PHP
PHP 采集获取指定网址的内容
2010/01/05 PHP
神盾加密解密教程(二)PHP 神盾解密
2014/06/08 PHP
CI框架Session.php源码分析
2014/11/03 PHP
PHP设计模式之装饰者模式代码实例
2015/05/11 PHP
php如何修改SESSION的生存存储时间的实例代码
2017/07/05 PHP
php实现的mongoDB单例模式操作类
2018/01/20 PHP
让AJAX不依赖后端接口实现方案
2012/12/03 Javascript
解析Jquery取得iframe中元素的几种方法
2013/07/04 Javascript
JS操作数据库的实例代码
2013/10/17 Javascript
加载列表时jquery获取ul中第一个li的属性
2014/11/02 Javascript
javascript去除空格方法小结
2015/05/21 Javascript
jQuery快速实现商品数量加减的方法
2017/02/06 Javascript
js将键值对字符串转为json字符串的方法
2018/03/30 Javascript
详解Angular5路由传值方式及其相关问题
2018/04/28 Javascript
使用vue-cli创建项目的图文教程(新手入门篇)
2018/05/02 Javascript
vue使用Element组件时v-for循环里的表单项验证方法
2018/06/28 Javascript
详解JavaScript对数组操作(添加/删除/截取/排序/倒序)
2019/04/28 Javascript
使vue实现jQuery调用的两种方法
2019/05/12 jQuery
微信小程序如何修改radio和checkbox的默认样式和图标
2019/07/24 Javascript
[50:11]2018DOTA2亚洲邀请赛 4.7总决赛 LGD vs Mineski 第三场
2018/04/09 DOTA
Python简单遍历字典及删除元素的方法
2016/09/18 Python
Python中模块与包有相同名字的处理方法
2017/05/05 Python
python实现外卖信息管理系统
2018/01/11 Python
Python 编码规范(Google Python Style Guide)
2018/05/05 Python
wxPython的安装与使用教程
2018/08/31 Python
使用urllib库的urlretrieve()方法下载网络文件到本地的方法
2018/12/19 Python
Python如何操作office实现自动化及win32com.client的运用
2020/04/01 Python
初学者学习Python好还是Java好
2020/05/26 Python
电子商务专业个人的自我评价
2013/12/19 职场文书
学生会干部自荐信
2014/02/04 职场文书
应届生面试求职信
2014/07/02 职场文书
员工家属慰问信
2015/03/24 职场文书
财务统计员岗位职责
2015/04/14 职场文书
亲情作文之母爱
2019/09/25 职场文书
CentOS安装Nginx并部署vue
2022/04/12 Servers