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 16 Javascript
javascript break指定标签打破多层循环示例
Jan 20 Javascript
jQuery对象的length属性用法实例
Dec 27 Javascript
使用jquery实现仿百度自动补全特效
Jul 23 Javascript
JS绘制生成花瓣效果的方法
Aug 05 Javascript
基于jQuery实现的无刷新表格分页实例
Feb 17 Javascript
AngularJS+Bootstrap实现多文件上传与管理
Nov 08 Javascript
Node.js利用Net模块实现多人命令行聊天室的方法
Dec 23 Javascript
Bootstrap缩略图与警告框学习使用
Feb 08 Javascript
vue.js加载新的内容(实例代码)
Jun 01 Javascript
vue.js编译时给生成的文件增加版本号
Sep 17 Javascript
element多个表单校验的实现
May 27 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
php恢复数组的key为数字序列的方法
2015/04/28 PHP
Yii框架响应组件用法实例分析
2019/09/04 PHP
Jquery遍历checkbox获取选中项value值的方法
2014/02/13 Javascript
页面元素绑定jquery toggle后元素隐藏的解决方法
2014/03/27 Javascript
jQuery延迟加载图片插件Lazy Load使用指南
2015/03/25 Javascript
js中unicode转码方法详解
2015/10/09 Javascript
JavaScript中Number对象的toFixed() 方法详解
2016/09/02 Javascript
jQuery EasyUI的TreeGrid查询功能实现方法
2017/08/08 jQuery
Javascript中的getter和setter初识
2017/08/17 Javascript
vue 实现通过手机发送短信验证码注册功能
2018/04/19 Javascript
Vuejs 实现简易 todoList 功能 与 组件实例代码
2018/09/10 Javascript
微信小程序显示倒计时功能示例【测试可用】
2018/12/03 Javascript
微信小程序自定义组件传值 页面和组件相互传数据操作示例
2019/05/05 Javascript
Vue 根据条件判断van-tab的显示方式
2020/08/03 Javascript
JavaScript async/await原理及实例解析
2020/12/02 Javascript
Python读写Excel文件的实例
2013/11/01 Python
Python实现保证只能运行一个脚本实例
2015/06/24 Python
python实现自动登录人人网并采集信息的方法
2015/06/28 Python
Python操作mysql数据库实现增删查改功能的方法
2018/01/15 Python
python脚本作为Windows服务启动代码详解
2018/02/11 Python
浅析python打包工具distutils、setuptools
2018/04/20 Python
pyqt5 QScrollArea设置在自定义侧(任何位置)
2019/09/25 Python
解决pyecharts运行后产生的html文件用浏览器打开空白
2020/03/11 Python
python实现简单的学生管理系统
2021/02/22 Python
史蒂夫·马登加拿大官网:Steve Madden加拿大
2017/11/18 全球购物
建龙钢铁面试总结
2014/04/15 面试题
大唐面试试题(CPU,UNIX等等)
2012/01/11 面试题
成功的餐厅经营创业计划书
2014/01/15 职场文书
会计专业大学生求职信范文
2014/01/28 职场文书
董事长助理工作职责
2014/06/08 职场文书
美术课外活动总结
2014/07/08 职场文书
财会专业毕业生自荐信
2014/07/09 职场文书
2015年预算员工作总结
2015/05/14 职场文书
2016年猴年新春致辞
2015/08/01 职场文书
创作书写之导游词实用技巧分享(干货)
2019/12/20 职场文书
python 调用js的四种方式
2021/04/11 Python