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中清空数组的三种方法分享
Apr 07 Javascript
设置checkbox为只读(readOnly)的两种方式
Oct 11 Javascript
javascript数组去重方法终极总结
Jun 05 Javascript
简单的jQuery入门指引
Jul 28 Javascript
JS日期加减,日期运算代码
Nov 05 Javascript
详解Angular开发中的登陆与身份验证
Jul 27 Javascript
微信小程序 Image API实例详解
Sep 30 Javascript
jQuery中$原理实例分析
Aug 13 jQuery
深入理解 JS 垃圾回收
Jun 03 Javascript
Vue搭建后台系统需要注意的问题
Nov 08 Javascript
js实现表格数据搜索
Aug 09 Javascript
vue中三级导航的菜单权限控制
Mar 31 Vue.js
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
天使彦史上最神还原,性别曝光的那一刻,百万网友恋爱了
2020/03/02 国漫
php面向对象全攻略 (一) 面向对象基础知识
2009/09/30 PHP
php数组函数序列之array_splice() - 在数组任意位置插入元素
2011/11/07 PHP
php读取文件内容至字符串中,同时去除换行、空行、行首行尾空格(Zjmainstay原创)
2012/07/31 PHP
PHP中使用匿名函数操作数据库的例子
2014/11/17 PHP
php cookie工作原理与实例详解
2016/07/18 PHP
PHP设计模式之建造者模式(Builder)原理与用法案例详解
2019/12/12 PHP
JS高级笔记
2011/07/13 Javascript
jQuery客户端分页实例代码
2013/11/18 Javascript
jquery 实现input输入什么div图层显示什么
2014/06/15 Javascript
js 判断所选时间(或者当前时间)是否在某一时间段的实现代码
2015/09/05 Javascript
JavaScript拖动层Div代码
2017/03/01 Javascript
jQuery使用zTree插件实现可拖拽的树示例
2017/09/23 jQuery
彻底弄懂 JavaScript 执行机制
2018/10/23 Javascript
详解webpack4之splitchunksPlugin代码包分拆
2018/12/04 Javascript
微信小程序实现通过双向滑动缩放图片大小的方法
2018/12/30 Javascript
Koa日志中间件封装开发详解
2019/03/09 Javascript
Vue实现一种简单的无限循环滚动动画的示例
2021/01/10 Vue.js
简述Python2与Python3的不同点
2018/01/21 Python
Python3实现将本地JSON大数据文件写入MySQL数据库的方法
2018/06/13 Python
Python使用matplotlib实现基础绘图功能示例
2018/07/03 Python
为什么str(float)在Python 3中比Python 2返回更多的数字
2018/10/16 Python
用Python实现读写锁的示例代码
2018/11/05 Python
Python FTP文件定时自动下载实现过程解析
2019/11/12 Python
基于python实现破解滑动验证码过程解析
2020/05/28 Python
css3闪亮进度条效果实现思路及代码
2013/04/17 HTML / CSS
html5 更新图片颜色示例代码
2014/07/29 HTML / CSS
美国体育用品商店:Paragon Sports
2017/10/08 全球购物
美国汽车性能部件和赛车零件网站:Vivid Racing
2018/03/27 全球购物
DeinDesign德国:设计自己的手机壳
2019/12/14 全球购物
客服专员岗位职责范本
2013/11/29 职场文书
应届毕业生应聘自荐信
2013/12/07 职场文书
社会保险接收函
2014/01/12 职场文书
党员承诺书格式
2014/05/21 职场文书
机械操作工岗位职责
2014/08/08 职场文书
律师催款函范文
2015/06/24 职场文书