@写在前面 :对于初学者友好,变量声明没有采取ES6标准,请自行食用
以下为个人学习中结合老师所讲的个人理解,如果帮助到喜欢学习的你我将倍感荣幸
对象的创建方式及优缺点
以下使用举例的方法描述该知识点
1.直接创建法
/*
创建一个人类对象,包含:
属性:其姓名、性别、年龄、身高、体重
方法:控制台输出个人信息
*/
var person={
name:"张三",
gender:"男",
age:28,
height:180,
weight:74,
showInfo:function(){
console.log(this.name,this.age,this.height);
}
};
//这里调用showInfo输出该对象的姓名,年龄以及身高
person.showInfo();
优点: 简单粗暴,快捷创建。适用于简单项目中即时创建并使用 使用完毕后可赋值为
null
以释放内存
缺点: 代码复用率低,例如创建多个不一样的人,就需要创建多个对象,造成代码资源存储空间浪费,不宜与中大型项目的开发,这样的方式可以临时创建并使用单个对象。
注意: 多个对象用此方法创建会拖慢加载进度,不宜与项目优化
2.工厂模式
/*创建三个不同人种,包含:
属性:肤色、姓名、年龄、身高
方法:显示个人信息
封装一个函数,将属性作为参数传入 并新建一个空对象 添加属性及方法为传入参数
每调用一次该方法,就创建一个人种对象并输出(返回该对象)结果
*/
function createPerson(skin,name,age,height){
var obj={
};
obj.skin=skin;
obj.name=name;
obj.age=age;
obj.height=height;
return obj;
}
//这里调用该函数,创建3个人种对象
var p1=createPerson("绿种人","亚当斯",43,184);
var p2=createPerson("蓝种人","阿凡达",88,197);
var p3=createPerson