JavaScript使用Prototype实现面向对象的方法


Posted in Javascript onApril 14, 2015

本文实例讲述了JavaScript使用Prototype实现面向对象的方法。分享给大家供大家参考。具体分析如下:

prototype 是 Function 对象的一个属性,这个属性指向另一个对象。 这个对象的所有属性和方法,都会被构造函数的实例继承。

同时 prototype 又存在一个指向构造函数的引用 constructor,这样就成功的构成一个循环引用的原型链结构。

我们可以把那些不变的属性和方法,直接定义在 prototype 对象上, 节省内存开销。

function Cat(name, color) {
  this.name = name;
  this.color = color;
}
Cat.prototype.type = 'mammal';
Cat.prototype.eat = function() {
  console.log('eat fish');
};
var cat1 = new Cat('Kitty', 'white');
var cat2 = new Cat('Smokey', 'black');
console.log(cat1.type); // mammal
console.log(cat1.eta === cat2.eta);
// TRUE, same reference
console.log(cat1.constructor === Cat)
// TRUE, from Person.prototype

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

Javascript 相关文章推荐
javascript整除实现代码
Nov 23 Javascript
Jquery图片滚动与幻灯片的实例代码
Apr 08 Javascript
JavaScript中的object转换成number或string规则介绍
Dec 31 Javascript
浅谈angular.js中实现双向绑定的方法$watch $digest $apply
Oct 14 Javascript
JS实现的竖向折叠菜单代码
Oct 21 Javascript
jQuery旋转木马式幻灯片轮播特效
Dec 04 Javascript
三种Node.js写文件的方式
Mar 08 Javascript
Bootstrap学习笔记之css样式设计(1)
Jun 07 Javascript
一个简单的JavaScript Map实例(分享)
Aug 03 Javascript
vue 使用Jade模板写html,stylus写css的方法
Feb 23 Javascript
ES6之模版字符串的具体使用
May 17 Javascript
基于vue+uniapp直播项目实现uni-app仿抖音/陌陌直播室功能
Nov 12 Javascript
jQuery插件ajaxFileUpload实现异步上传文件效果
Apr 14 #Javascript
Angularjs制作简单的路由功能demo
Apr 14 #Javascript
javascript中几个容易混淆的概念总结
Apr 14 #Javascript
浅谈Sizzle的“编译原理”
Apr 14 #Javascript
深入探寻seajs的模块化与加载方式
Apr 14 #Javascript
javascript数组去重的方法汇总
Apr 14 #Javascript
JavaScript字符串常用类使用方法汇总
Apr 14 #Javascript
You might like
PHP中filter函数校验数据的方法详解
2015/07/31 PHP
php获取服务器操作系统相关信息的方法
2016/10/08 PHP
PHP+原生态ajax实现的省市联动功能详解
2017/08/15 PHP
PHP+MySQL实现消息队列的方法分析
2018/05/09 PHP
Thinkphp 在api开发中异常返回依然是html的解决方式
2019/10/16 PHP
点击文章内容处弹出页面代码
2009/10/01 Javascript
javascript动态加载实现方法一
2012/08/22 Javascript
javascript一元操作符(递增、递减)使用示例
2013/08/07 Javascript
jQuery中get和post方法传值测试及注意事项
2014/08/08 Javascript
TypeScript 学习笔记之基本类型
2015/06/19 Javascript
JSON与XML优缺点对比分析
2015/07/17 Javascript
jQuery实现将div中滚动条滚动到指定位置的方法
2016/08/10 Javascript
label+input实现按钮开关切换效果的实例
2017/08/16 Javascript
jQuery的时间datetime控件在AngularJs中的使用实例(分享)
2017/08/17 jQuery
vue.js通过路由实现经典的三栏布局实例代码
2018/07/08 Javascript
对Vue.js之事件的绑定(v-on: 或者 @ )详解
2018/09/15 Javascript
ios中视频的最后一桢问题解决
2019/05/14 Javascript
深入浅析ng-bootstrap 组件集中 tabset 组件的实现分析
2019/07/19 Javascript
VUE项目初建和常见问题总结
2019/09/12 Javascript
微信小程序动态评分展示/五角星展示/半颗星展示/自定义长度展示功能的实现
2020/07/22 Javascript
Python实现删除Android工程中的冗余字符串
2015/01/19 Python
在Python程序中操作文件之isatty()方法的使用教程
2015/05/24 Python
python设置值及NaN值处理方法
2018/07/03 Python
使用python绘制二元函数图像的实例
2019/02/12 Python
Python 实现try重新执行
2019/12/21 Python
用python爬取历史天气数据的方法示例
2019/12/30 Python
Python使用Pandas库常见操作详解
2020/01/16 Python
Ajax的优点和缺点
2014/11/21 面试题
优秀员工自荐信范文
2013/10/05 职场文书
国际贸易个人求职信范文
2014/01/04 职场文书
光荣入党自我鉴定
2014/01/22 职场文书
商务专员岗位职责范本
2014/06/29 职场文书
卫生院艾滋病宣传活动小结
2014/07/09 职场文书
未中标通知书
2015/04/17 职场文书
《和时间赛跑》读后感3篇
2019/12/16 职场文书
腾讯云服务器部署前后分离项目之前端部署
2022/06/28 Servers