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学习笔记之获取当前目录的实现代码
Dec 14 Javascript
关于js日期转化为毫秒数“节省20%的效率和和节省9个字符“问题
Mar 01 Javascript
jquery插件之信息弹出框showInfoDialog(成功/错误/警告/通知/背景遮罩)
Jan 09 Javascript
jquery进行数组遍历如何跳出当前的each循环
Jun 05 Javascript
JS实现超简单的仿QQ折叠菜单效果
Sep 21 Javascript
JavaScript获取当前运行脚本文件所在目录的方法
Feb 03 Javascript
完美实现八种js焦点轮播图(上篇)
Jul 18 Javascript
JS 对java返回的json格式的数据处理方法
Dec 05 Javascript
JS动态添加元素及绑定事件造成程序重复执行解决
Dec 07 Javascript
使用Angular 6创建各种动画效果的方法
Oct 10 Javascript
基于JavaScript实现控制下拉列表
May 08 Javascript
JS数组去重详情
Nov 07 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
德生PL330的评价与改造
2021/03/02 无线电
php 进度条实现代码
2009/03/10 PHP
php file_put_contents()功能函数(集成了fopen、fwrite、fclose)
2011/05/24 PHP
codeigniter教程之多文件上传使用示例
2014/02/11 PHP
Javascript的构造函数和constructor属性
2010/01/09 Javascript
基于jquery的has()方法以及与find()方法以及filter()方法的区别详解
2013/04/26 Javascript
jquery iframe操作详细解析
2013/11/20 Javascript
解析URI与URL之间的区别与联系
2013/11/22 Javascript
让JavaScript和其它资源并发下载的方法
2014/10/16 Javascript
详解Javascript动态操作CSS
2014/12/08 Javascript
jQuery回调函数的定义及用法实例
2014/12/23 Javascript
jQuery+AJAX实现网页无刷新上传
2015/02/22 Javascript
JavaScript中Boolean对象的属性解析
2015/10/21 Javascript
在 Express 中使用模板引擎
2015/12/10 Javascript
javascript实现一个简单的弹出窗
2016/02/22 Javascript
javaScript中的空值和假值
2017/12/18 Javascript
使用vue如何构建一个自动建站项目
2018/02/05 Javascript
全站最详细的Vuex教程
2018/04/13 Javascript
JavaScript寄生组合式继承原理与用法分析
2019/01/11 Javascript
jQuery each和js forEach用法比较
2019/02/27 jQuery
vue中axios的二次封装实例讲解
2019/10/14 Javascript
express中static中间件的具体使用方法
2019/10/17 Javascript
Python中的高级函数map/reduce使用实例
2015/04/13 Python
Python中处理字符串之islower()方法的使用简介
2015/05/19 Python
通过数据库向Django模型添加字段的示例
2015/07/21 Python
Python实现的排列组合计算操作示例
2017/10/13 Python
python中的插值 scipy-interp的实现代码
2018/07/23 Python
对python多线程中Lock()与RLock()锁详解
2019/01/11 Python
Keras实现将两个模型连接到一起
2020/05/23 Python
Python中无限循环需要什么条件
2020/05/27 Python
小学少先队活动方案
2014/02/18 职场文书
农村结婚典礼司仪主持词
2014/03/14 职场文书
电子商务专业应届生求职信
2014/05/28 职场文书
环保志愿者活动总结
2014/06/27 职场文书
总经理助理岗位职责范本
2014/07/20 职场文书
Python道路车道线检测的实现
2021/06/27 Python