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 相关文章推荐
静态的动态续篇之来点XML
Dec 23 Javascript
JavaScript 开发中规范性的一点感想
Jun 23 Javascript
IE6/7/8中Option元素未设value时Select将获取空字符串
Apr 07 Javascript
document.createElement()用法及注意事项(ff下不兼容)
Mar 13 Javascript
javascript中定义类的方法详解
Feb 10 Javascript
jquery.form.js实现将form提交转为ajax方式提交的方法
Apr 07 Javascript
Bootstrap作品展示站点实战项目2
Oct 14 Javascript
jQuery实现文字自动横移
Jan 08 Javascript
Angular实现的进度条功能示例
Feb 18 Javascript
使用 Jest 和 Supertest 进行接口端点测试实例详解
Apr 25 Javascript
浅析JavaScript中的变量提升
Jun 01 Javascript
vue实现简易音乐播放器
Aug 14 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
对于Laravel 5.5核心架构的深入理解
2018/02/22 PHP
PHP实现的服务器一致性hash分布算法示例
2018/08/09 PHP
关于IE、Firefox、Opera页面呈现异同 写脚本很痛苦
2009/08/28 Javascript
javascript中的一些注意事项 更新中
2010/12/06 Javascript
jquery 获取 outerHtml 包含当前节点本身的代码
2014/10/30 Javascript
jquery实现触发时更新下拉列表内容的方法
2015/12/02 Javascript
js实现表单及时验证功能 用户信息立即验证
2016/09/13 Javascript
JavaScript面试题大全(推荐)
2016/09/22 Javascript
element ui 对话框el-dialog关闭事件详解
2018/02/26 Javascript
JS 使用 window对象的print方法实现分页打印功能
2018/05/16 Javascript
使用D3.js+Vue实现一个简单的柱形图
2018/08/05 Javascript
vue 修改 data 数据问题并实时显示的方法
2018/08/27 Javascript
Vue源码学习之关于对Array的数据侦听实现
2019/04/23 Javascript
TypeScript开发Node.js程序的方法
2019/04/30 Javascript
深入浅析vue-cli@3.0 使用及配置说明
2019/05/08 Javascript
JavaScript怎样在删除前添加确认弹出框?
2019/05/27 Javascript
在微信小程序中使用mqtt服务的方法
2019/12/13 Javascript
vue3+typescript实现图片懒加载插件
2020/10/26 Javascript
Python 检查数组元素是否存在类似PHP isset()方法
2014/10/14 Python
Python实现的数据结构与算法之基本搜索详解
2015/04/22 Python
再谈Python中的字符串与字符编码(推荐)
2016/12/14 Python
Python用UUID库生成唯一ID的方法示例
2016/12/15 Python
python+tkinter编写电脑桌面放大镜程序实例代码
2018/01/16 Python
python中正则表达式 re.findall 用法
2018/10/23 Python
Django实现WebSSH操作物理机或虚拟机的方法
2019/11/06 Python
pytorch中 gpu与gpu、gpu与cpu 在load时相互转化操作
2020/05/25 Python
StubHub西班牙:购买和出售全球活动门票
2017/06/05 全球购物
惊艳的手工时装首饰:Migonne Gavigan
2018/02/23 全球购物
全球烹饪课程的领先预订平台:Cookly
2020/01/28 全球购物
合作意向书模板
2014/03/31 职场文书
《乡下孩子》教学反思
2014/04/17 职场文书
文明倡议书
2015/01/19 职场文书
陕西导游词
2015/02/04 职场文书
就业推荐表自我评价范文
2015/03/02 职场文书
学会掌握自己命运的十条黄金法则:
2019/08/08 职场文书
Win11绿屏怎么办?Win11绿屏死机的解决方法
2021/11/21 数码科技