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


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下为Event handler传递动态参数的代码
Jan 06 Javascript
JavaScript通过HTML的class来获取HTML元素的方法总结
May 24 Javascript
分享JS代码实现鼠标放在输入框上输入框和图片同时更换样式
Sep 01 Javascript
js实现贪吃蛇小游戏(容易理解)
Jan 22 Javascript
javascript 面向对象function详解及实例代码
Feb 28 Javascript
jQuery实现锚点向下平滑滚动特效示例
Aug 29 jQuery
vue里input根据value改变背景色的实例
Sep 29 Javascript
小程序input数据双向绑定实现方法
Oct 17 Javascript
JS实现简易计算器
Feb 14 Javascript
vue基于better-scroll实现左右联动滑动页面
Jun 30 Javascript
vue导入.md文件的步骤(markdown转HTML)
Dec 31 Vue.js
JavaScript原始值与包装对象的详细介绍
May 11 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学习教程之第1天
2008/06/15 PHP
PHP实现微信公众号验证Token的示例代码
2019/12/16 PHP
javascript 事件查询综合 推荐收藏
2010/03/10 Javascript
js使用函数绑定技术改变事件处理程序的作用域
2011/12/26 Javascript
javascript全局变量封装模块实现代码
2012/11/28 Javascript
JavaScript中的索引数组、关联数组和静态数组、动态数组讲解
2014/11/08 Javascript
javascript数组遍历for与for in区别详解
2014/12/04 Javascript
jQuery实现带有动画效果的回到顶部和底部代码
2015/11/04 Javascript
js clearInterval()方法的定义和用法
2015/11/11 Javascript
JavaScript对象数组排序实例方法浅析
2016/06/15 Javascript
深入理解nodejs中Express的中间件
2017/05/19 NodeJs
layui 监听表格复选框选中值的方法
2018/08/15 Javascript
用 js 写一个 js 解释器过程详解
2019/08/02 Javascript
CountUp.js数字滚动插件使用方法详解
2019/10/17 Javascript
vuex actions异步修改状态的实例详解
2019/11/06 Javascript
详解JavaScript修改注册表的方法
2020/01/05 Javascript
JS中FormData类实现文件上传
2020/03/27 Javascript
vue 接口请求地址前缀本地开发和线上开发设置方式
2020/08/13 Javascript
跟老齐学Python之有容乃大的list(3)
2014/09/15 Python
Python解析xml中dom元素的方法
2015/03/12 Python
详解Python计算机视觉 图像扭曲(仿射扭曲)
2019/03/27 Python
Python空间数据处理之GDAL读写遥感图像
2019/08/01 Python
解决python调用自己文件函数/执行函数找不到包问题
2020/06/01 Python
Django之腾讯云短信的实现
2020/06/12 Python
Python基于xlrd模块处理合并单元格
2020/07/28 Python
python获取linux系统信息的三种方法
2020/10/14 Python
Python3.9.0 a1安装pygame出错解决全过程(小结)
2021/02/02 Python
澳大利亚冲浪和时尚服装网上购物:SurfStitch
2017/07/29 全球购物
联想澳大利亚官网:Lenovo Australia
2018/01/18 全球购物
CHRONEXT英国:您的首选奢华腕表目的地
2020/03/30 全球购物
杭州联环马网络笔试题面试题
2013/08/04 面试题
学生学习总结的自我评价
2013/10/22 职场文书
村班子对照检查材料
2014/08/18 职场文书
大学生村官入党自传
2015/06/26 职场文书
大学迎新生欢迎词
2015/09/29 职场文书
《失物招领》教学反思
2016/02/20 职场文书