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 相关文章推荐
ie 处理 gif动画 的onload 事件的一个 bug
Apr 12 Javascript
js 页面关闭前的出现提示的实现代码
May 25 Javascript
jquery ajax 局部无刷新更新数据的实现案例
Feb 08 Javascript
js实现input框文字动态变换显示效果
Aug 19 Javascript
JQuery解析XML数据的几个简单实例
May 18 Javascript
基于daterangepicker日历插件使用参数注意的问题
Aug 10 Javascript
js html实现计算器功能
Nov 13 Javascript
vue中node_modules中第三方模块的修改使用详解
May 31 Javascript
Vue中常用rules校验规则(实例代码)
Nov 14 Javascript
jQuery模仿ToDoList实现简单的待办事项列表
Dec 30 jQuery
JavaScript利用键盘码控制div移动
Mar 19 Javascript
原生JavaScript写出Tabs标签页的实例代码
Jul 20 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
一个简单计数器的源代码
2006/10/09 PHP
php获取表单中多个同名input元素的值
2014/03/20 PHP
PHP采用get获取url汉字出现乱码的解决方法
2014/11/13 PHP
Windows2003下php5.4安装配置教程(Apache2.4)
2016/06/30 PHP
js中的json对象详细介绍
2014/10/29 Javascript
JavaScript学习小结(一)——JavaScript入门基础
2015/09/02 Javascript
jQuery实现指定区域外单击关闭指定层的方法【经典】
2016/06/22 Javascript
基于JS模仿windows文件按名称排序效果
2016/06/29 Javascript
基于js的变量提升和函数提升(详解)
2017/09/17 Javascript
Vue组件开发之LeanCloud带图形校验码的短信发送功能
2017/11/07 Javascript
webpack 单独打包指定JS文件的方法
2018/02/22 Javascript
JS前端基于canvas给图片添加水印
2020/11/11 Javascript
Python的Django中将文件上传至七牛云存储的代码分享
2016/06/03 Python
Python 通过pip安装Django详细介绍
2017/04/28 Python
Python设计模式之工厂模式简单示例
2018/01/09 Python
python用BeautifulSoup库简单爬虫实例分析
2018/07/30 Python
浅析Windows 嵌入python解释器的过程
2019/07/26 Python
python读写Excel表格的实例代码(简单实用)
2019/12/19 Python
解决tensorflow由于未初始化变量而导致的错误问题
2020/01/06 Python
Django重设Admin密码过程解析
2020/02/10 Python
Python实现括号匹配方法详解
2020/02/10 Python
opencv 查找连通区域 最大面积实例
2020/06/04 Python
Python实现自动签到脚本功能
2020/08/20 Python
用python写一个带有gui界面的密码生成器
2020/11/06 Python
HTML5使用Audio标签实现歌词同步的效果
2016/03/17 HTML / CSS
Vision Direct比利时:在线订购隐形眼镜
2019/08/27 全球购物
水污染治理专业毕业生推荐信
2013/11/14 职场文书
公司门卫管理制度
2014/02/01 职场文书
幼儿园区域活动总结
2014/05/08 职场文书
奉献家乡演讲稿
2014/09/13 职场文书
民警群众路线教育实践活动对照检查材料
2014/10/04 职场文书
单位租房协议书范本
2014/12/04 职场文书
2015年城管个人工作总结范文
2015/04/20 职场文书
道歉情书大全
2015/05/12 职场文书
入党宣誓仪式主持词
2015/06/29 职场文书
聊一聊Redis与MySQL双写一致性如何保证
2021/06/26 Redis