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 相关文章推荐
js传值 判断
Oct 26 Javascript
事件模型在各浏览器中存在差异
Oct 20 Javascript
jquery让返回的内容显示在特定div里(代码少而精悍)
Jun 23 Javascript
用JS生成UUID的方法实例
Mar 30 Javascript
全面解析Bootstrap中tab(选项卡)的使用方法
Jun 06 Javascript
JSONP原理及简单实现
Jun 08 Javascript
js获取当前时间(昨天、今天、明天)
Nov 23 Javascript
js addDqmForPP给标签内属性值加上双引号的函数
Dec 24 Javascript
基于JQuery的购物车添加删除以及结算功能示例
Mar 08 Javascript
JS实现加载时锁定HTML页面元素的方法
Jun 24 Javascript
vue keep-alive请求数据的方法示例
May 16 Javascript
angularJS自定义directive之带参方法传递详解
Oct 09 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
基于Windows下Apache PHP5.3.1安装教程
2010/01/08 PHP
php数组函数序列之array_values() 获取数组元素值的函数与方法
2011/10/30 PHP
php微信公众号开发之翻页查询
2018/10/20 PHP
PHP registerXPathNamespace()函数讲解
2019/02/03 PHP
用javascript实现的仿Flash广告图片轮换效果
2007/04/24 Javascript
jquery 1.3.2 IE8中的一点点的小问题解决方法
2009/07/10 Javascript
javascript实现的使用方向键控制光标在table单元格中切换
2010/11/17 Javascript
浅析javascript 定时器
2014/12/23 Javascript
JS+CSS实现带关闭按钮DIV弹出窗口的方法
2015/02/27 Javascript
jQuery插件MixItUp实现动画过滤和排序
2015/04/12 Javascript
深入分析jsonp协议原理
2015/09/26 Javascript
js实现密码强度检测【附示例】
2016/03/30 Javascript
bootstrap multiselect下拉列表功能
2017/08/22 Javascript
Angular中使用better-scroll插件的方法
2018/03/27 Javascript
如何编写一个 Webpack Loader的实现
2020/10/18 Javascript
跟老齐学Python之不要红头文件(1)
2014/09/28 Python
python访问mysql数据库的实现方法(2则示例)
2016/01/06 Python
Python语言实现百度语音识别API的使用实例
2017/12/13 Python
Python中最大最小赋值小技巧(分享)
2017/12/23 Python
Python 3.7新功能之dataclass装饰器详解
2018/04/21 Python
python环形单链表的约瑟夫问题详解
2018/09/27 Python
Python常用爬虫代码总结方便查询
2019/02/25 Python
详解如何从TensorFlow的mnist数据集导出手写体数字图片
2019/08/05 Python
Python字符编码转码之GBK,UTF8互转
2020/02/09 Python
详解向scrapy中的spider传递参数的几种方法(2种)
2020/09/28 Python
Python 可视化神器Plotly详解
2020/12/26 Python
HTML5 使用 sessionStorage 进行页面传值的方法
2018/07/02 HTML / CSS
英国在线自行车商店:Evans Cycles
2016/09/26 全球购物
DHC美国官网:日本通信销售第一的化妆品品牌
2017/11/12 全球购物
JBL澳大利亚官方商店:扬声器、耳机和音响系统
2018/05/24 全球购物
应届生自荐信
2014/06/30 职场文书
2015年初中元旦晚会活动总结
2014/11/28 职场文书
2014年小学校长工作总结
2014/12/08 职场文书
2015安全保卫工作总结
2015/04/25 职场文书
Python中os模块的简单使用及重命名操作
2021/04/17 Python
Python实现排序方法常见的四种
2021/07/15 Python