javascript原型模式用法实例详解


Posted in Javascript onJune 04, 2015

本文实例讲述了javascript原型模式用法。分享给大家供大家参考。具体分析如下:

一般在了解了工厂模式和构造函数模式的弊端之后,就知道为什么需要原型模式了
 
原型模式i的定义:每个函数都有一个prototype(原型)属性,这个属性是一个对象,它的用途是包含可以由特定类型的所有实例共享的属性和方法。比如在构造函数模型中sayInformation()方法,如果声明两个实例就要构造两次sayInformation方法,但是声明两次是没有必要的,这就是为什么有原型模式的出现(尼玛,网上那些博客上面都是扯谈的东西,还是看书讲的容易理解),sayInformation()声明为原型模式之后,实例就共享了,就没有必要声明两次了

function Person(){}
Person.prototype.name="jack";
Person.prototype.age=10;
Person.prototype.sayInformation=function()
{
  console.log("my name is"+this.name+" age is"+this.age);
}
var person1 = new Person();
person1.sayInformation();
console.info(person1.name);
//来自原型的属性name
person1.name="Greg";
//修改实例的name属性
console.info(person1.name);
//来自实例的属性name
delete person1.name ;
//来自实例的属性,这里删除的是实例的属性,但是原型的属性依然存在
console.info(person1.name);
//来自原型的属性name
var person2 = new Person();
person2.sayInformation();
console.info(person1.hasOwnProperty("name"));
//hasOwnProperty检查属性是属于实例还是原型中,如果是实例中就返回true
console.info(person1.name==person2.name);
console.info(person1.sayInformation==person2.sayInformation);
console.info(person1.constructor);
//指向person1的构造函数
//原型更加简便的写法
function Person2(){}
Person2.prototype={
  name:"jack",
  age:29,
  sayInformationfunction:function()
    {
      console.log("my name is"+this.name+" age is"+this.age);
    }
}

希望本文所述对大家的javascript程序设计有所帮助。

Javascript 相关文章推荐
IE6 弹出Iframe层中的文本框“经常”无法获得输入焦点
Dec 27 Javascript
javascript instanceof,typeof的区别
Mar 24 Javascript
javascript中IE浏览器不支持NEW DATE()带参数的解决方法
Mar 01 Javascript
Node.js中使用事件发射器模式实现事件绑定详解
Aug 15 Javascript
JavaScript实现时间倒计时跳转(推荐)
Jun 28 Javascript
js实现兼容PC端和移动端滑块拖动选择数字效果
Feb 16 Javascript
js实现横向拖拽导航条功能
Feb 17 Javascript
JavaScript箭头(arrow)函数详解
Jun 04 Javascript
利用js给datalist或select动态添加option选项的方法
Jan 25 Javascript
Vue-路由导航菜单栏的高亮设置方法
Mar 17 Javascript
关于element-ui的隐藏组件el-scrollbar的使用
May 29 Javascript
原生js实现二级联动菜单
Nov 27 Javascript
使用JavaScript刷新网页的方法
Jun 04 #Javascript
JavaScript中Cookies的相关使用教程
Jun 04 #Javascript
javascript组合使用构造函数模式和原型模式实例
Jun 04 #Javascript
浅析JavaScript中的事件机制
Jun 04 #Javascript
JavaScript中指定函数名称的相关方法
Jun 04 #Javascript
JavaScript中Function()函数的使用教程
Jun 04 #Javascript
JavaScript中的函数嵌套使用
Jun 04 #Javascript
You might like
浅析使用Turck-mmcache编译来加速、优化PHP代码
2013/06/20 PHP
php生成4位数字验证码的实现代码
2015/11/23 PHP
PHP递归遍历文件夹去除注释并压缩php源代码的方法示例
2018/05/23 PHP
jQuery中element选择器用法实例
2014/12/29 Javascript
Javascript递归打印Document层次关系实例分析
2015/05/15 Javascript
jquery插件splitScren实现页面分屏切换模板特效
2015/06/16 Javascript
如何动态加载外部Javascript文件
2015/12/02 Javascript
JavaScript 弹出子窗体并返回结果到父窗体的实现代码
2016/05/28 Javascript
livereload工具实现前端可视化开发【推荐】
2016/12/23 Javascript
Angular2平滑升级到Angular4的步骤详解
2017/03/29 Javascript
AngularJS实现的回到顶部指令功能实例
2017/05/17 Javascript
Node实战之不同环境下配置文件使用教程
2018/01/02 Javascript
利用npm 安装删除模块的方法
2018/05/15 Javascript
详解微信小程序用定时器实现倒计时效果
2019/04/30 Javascript
小程序云开发之用户注册登录
2019/05/18 Javascript
python 简单备份文件脚本v1.0的实例
2017/11/06 Python
深入理解Python爬虫代理池服务
2018/02/28 Python
Python实现购物车购物小程序
2018/04/18 Python
Python实现聊天机器人的示例代码
2018/07/09 Python
python中的字符串内部换行方法
2018/07/19 Python
python实现微信定时每天和女友发送消息
2019/04/29 Python
500行Python代码打造刷脸考勤系统
2019/06/03 Python
python采集百度搜索结果带有特定URL的链接代码实例
2019/08/30 Python
django 框架实现的用户注册、登录、退出功能示例
2019/11/28 Python
解决pycharm不能自动保存在远程linux中的问题
2021/02/06 Python
canvas实现俄罗斯方块的方法示例
2018/12/13 HTML / CSS
HTML5拖拽的简单实例
2016/05/30 HTML / CSS
使用phonegap获取设备的一些信息方法
2017/03/31 HTML / CSS
GoPro摄像机美国官网:美国运动相机厂商
2018/07/03 全球购物
德国购买踏板车网站:Microscooter
2019/10/14 全球购物
八项规定整改方案
2014/02/21 职场文书
出纳员岗位职责风险
2014/03/06 职场文书
化工见习报告范文
2014/10/31 职场文书
优秀教师先进材料
2014/12/16 职场文书
八年级作文之一起的走过日子
2019/09/17 职场文书
python字典进行运算原理及实例分享
2021/08/02 Python