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


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 相关文章推荐
input的focus方法使用
Mar 13 Javascript
基于jQuery的倒计时实现代码
May 30 Javascript
jQuery版本升级踩坑大全
Jan 12 Javascript
AngularJS基础 ng-show 指令简单示例
Aug 03 Javascript
HTML5canvas 绘制一个圆环形的进度表示实例
Dec 16 Javascript
jquery对象与DOM对象转化
Feb 08 Javascript
JS操作时间 - UNIX时间戳的简单介绍(必看篇)
Aug 16 Javascript
Node.JS使用Sequelize操作MySQL的示例代码
Oct 09 Javascript
swiper在vue项目中loop循环轮播失效的解决方法
Sep 15 Javascript
如何在JavaScript中优雅的提取循环内数据详解
Mar 04 Javascript
继承行为在 ES5 与 ES6 中的区别详解
Dec 24 Javascript
Vue操作Storage本地化存储
Apr 29 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
Apache2 httpd.conf 中文版
2006/12/06 PHP
php在多维数组中根据键名快速查询其父键以及父键值的代码
2011/05/07 PHP
php 修改、增加xml结点属性的实现代码
2013/10/22 PHP
php jquery 多文件上传简单实例
2013/12/23 PHP
教你如何在CI框架中使用 .htaccess 隐藏url中index.php
2014/06/09 PHP
php中ftp_chdir与ftp_cdup函数用法
2014/11/18 PHP
PHP children()函数讲解
2019/02/03 PHP
用JavaScript脚本实现Web页面信息交互
2006/12/21 Javascript
JavaScript编程中容易出BUG的几点小知识
2015/01/31 Javascript
js调用百度地图及调用百度地图的搜索功能
2015/09/07 Javascript
webix+springmvc session超时跳转登录页面
2016/10/30 Javascript
Vue.js系列之vue-router(上)(3)
2017/01/03 Javascript
前端开发必知的15个jQuery小技巧
2017/01/22 Javascript
借助node实战JSONP跨域实例
2017/03/30 Javascript
ionic2打包android时gradle无法下载的解决方法
2017/04/05 Javascript
Django与Vue语法的冲突问题完美解决方法
2017/12/14 Javascript
解决layui前端框架 form表单,table表等内置控件不显示的问题
2018/08/19 Javascript
element-ui 关于获取select 的label值方法
2018/08/24 Javascript
JavaScript实现模态对话框实例
2020/01/13 Javascript
Element-ui upload上传文件限制的解决方法
2021/01/22 Javascript
Python入门篇之编程习惯与特点
2014/10/17 Python
Python StringIO模块实现在内存缓冲区中读写数据
2015/04/08 Python
浅谈python中的变量默认是什么类型
2016/09/11 Python
python 处理dataframe中的时间字段方法
2018/04/10 Python
目前最全的python的就业方向
2018/06/05 Python
Python实现端口检测的方法
2018/07/24 Python
python中有关时间日期格式转换问题
2019/12/25 Python
Django查询优化及ajax编码格式原理解析
2020/03/25 Python
Python reduce函数作用及实例解析
2020/05/08 Python
Pycharm Git 设置方法
2020/09/15 Python
matplotlib bar()实现百分比堆积柱状图
2021/02/24 Python
使用Python快速打开一个百万行级别的超大Excel文件的方法
2021/03/02 Python
使用html5 canvas创建太空游戏的示例
2014/05/08 HTML / CSS
Carolina工作鞋官网:Carolina Footwear
2019/03/14 全球购物
生物科学专业个人求职信范文
2013/12/07 职场文书
学习十八大报告感言
2014/02/04 职场文书