面向对象--构造函数
来源:互联网 发布:mac spss24 编辑:程序博客网 时间:2024/05/18 19:22
一、生成实例对象的原始模式
var cat = {name: '',color: ''}var cat1 = {};cat1.name ='大毛';cat1.color = '黄色';var cat2 = {};cat2.name = '二毛';cat2.color = '黑色';
二、解决代码重复 写一个函数
function Cat (name, color){return {name: name,color: color}}var Cat1 = Cat('三毛', '红色');var Cat2 = Cat('四毛', '绿色');
三、看不出同一个原型,用构造函数
function CatNew (name, color ){this.name = name;this.color = color;}var cat3 = new CatNew('六毛', '灰色');var cat4 = new CatNew('七毛', '白色');
注: 所有实例拥有相同属性和方法时,用prototype模式
原因:每创建一个实例就需要重复一次代码,占用内存,降低性能
未使用prototype:
function CatQ( name, color ){this.name = name;this.color = color;this.type = '猫科动物';this.eat = function () {console.log('吃老鼠');}}var cat5 = new CatQ('老五', '彩色');var cat6 = new CatQ('老六','黑白');
使用prototype:
function Catq (name, color) {this.name = name;this.color = color;}Catq.prototype.type = "我是猫科动物";Catq.prototype.eat = function () {console.log('我想吃老鼠');}var cat7 = new Catq('老七', '灰色');var cat8 = new Catq('老八',"白色");for(var prop in cat7) {console.log(prop);//属性的遍历}
使用prototyope模式:
所有实例对象的eat方法和type属性都是同一个内存地址 指向prototype 对象
阅读全文
0 0
- 面向对象构造函数
- 面向对象-构造函数
- 面向对象--构造函数
- 面向对象之构造函数
- 面向对象(构造函数)
- Java构造函数(面向对象)
- 面向对象之构造函数
- 面向对象,函数构造方法
- javascript面向对象 -- 构造函数
- 面向对象中的构造函数
- 1.面向对象--构造函数-定义 02-面向对象(构造函数-默认构造函数 03-面向对象--构造函数-构造函数和一般函数的区别 04-面向对象(构造函数-重载 05-面向对象(构造函数-内存图解)
- java面向对象思想之构造函数
- JavaScript面向对象编程[一] 构造函数
- javascript面向对象编程构造函数继承
- 1.面向对象的封装,构造函数!
- 面向对象 之封装、构造函数
- 【Java面向对象设计 构造函数设计】
- 【Java面向对象设计 构造函数设计】
- Poll() I/O复用模型
- pom.xml
- jq监听下拉列表至改变事件
- Linux 相关
- Excel合并工作表的神器—Power Query
- 面向对象--构造函数
- linux线程池
- iOS获取设备型号和App版本号等信息(OC+Swift3.0)
- Memcached expire 设置错误引起的set(key,exp,value)为true而get(key)为null的问题
- Codeforces Round #257 (Div. 2) B. Jzzhu and Sequences
- sql 查询按照分组将多条记录转换成单条记录的group_contact()函数
- ffmpeg中的x264编码选项,对应关系
- Unity Shader学习笔记:入门简述
- EasyUI使用代码