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


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 相关文章推荐
Ext面向对象开发实践(续)
Nov 18 Javascript
JQuery插入DOM节点的方法
Jun 11 Javascript
jquery图片倾斜层叠切换特效代码分享
Aug 27 Javascript
理解javascript中的MVC模式
Jan 28 Javascript
全面解析bootstrap格子布局
May 22 Javascript
解决Angular.Js与Django标签冲突的方案
Dec 20 Javascript
jQuery实现遮罩层登录对话框
Dec 29 Javascript
jQuery实现对象转为url参数的方法
Jan 11 Javascript
详解在Node.js中发起HTTP请求的5种方法
Jan 10 Javascript
详解vue开发中调用微信jssdk的问题
Apr 16 Javascript
微信小程序事件流原理解析
Nov 27 Javascript
Vue Render函数创建DOM节点代码实例
Jul 08 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 编程的 5个良好习惯
2009/02/20 PHP
PHP中设置时区方法小结
2012/06/03 PHP
Yii使用CLinkPager分页实例详解
2014/07/23 PHP
php使用goto实现自动重启swoole、reactphp、workerman服务的代码
2020/04/13 PHP
js 返回时间戳所对应的具体时间
2010/07/20 Javascript
解决Jquery load()加载GB2312页面时出现乱码的两种方案
2013/09/10 Javascript
jquery showModelDialog的使用方法示例详解
2013/11/19 Javascript
用循环或if语句从json中取数据示例
2014/08/18 Javascript
深入讲解AngularJS中的自定义指令的使用
2015/06/18 Javascript
JavaScript 性能优化小结
2015/10/12 Javascript
JavaScript+html5 canvas绘制缤纷多彩的三角形效果完整实例
2016/01/26 Javascript
详解Javascript中的原型OOP
2016/10/12 Javascript
pc加载更多功能和移动端下拉刷新加载数据
2016/11/07 Javascript
div中文字内容溢出常见的解决方法
2017/03/16 Javascript
深入浅析Node.js单线程模型
2017/07/10 Javascript
详解ES6中的代理模式——Proxy
2018/01/08 Javascript
vue编译打包本地查看index文件的方法
2018/02/23 Javascript
javascript实现手动点赞效果
2019/04/09 Javascript
ES6的异步终极解决方案分享
2019/07/11 Javascript
python黑魔法之参数传递
2016/02/12 Python
Python编程之string相关操作实例详解
2017/07/22 Python
Python编程之微信推送模板消息功能示例
2017/08/21 Python
浅谈python函数调用返回两个或多个变量的方法
2019/01/23 Python
PyQt5实现让QScrollArea支持鼠标拖动的操作方法
2019/06/19 Python
html5适合移动应用开发的12大特性
2014/03/19 HTML / CSS
用C#语言写出在本地创建一个UDP接收端口的具体过程
2016/02/22 面试题
介绍一下JNDI的基本概念
2013/07/26 面试题
兰兰过桥教学反思
2014/02/08 职场文书
受伤赔偿协议书
2014/09/24 职场文书
警察群众路线对照检查材料思想汇报
2014/10/01 职场文书
领导干部整治奢华浪费之风思想汇报
2014/10/07 职场文书
2014年团工作总结
2014/11/27 职场文书
教师工作能力自我评价
2015/03/04 职场文书
国际贸易实训总结
2015/08/03 职场文书
vue项目两种方式实现竖向表格的思路分析
2021/04/28 Vue.js
对Keras自带Loss Function的深入研究
2021/05/25 Python