当要创建与person1小明类似的对象时,用直接量的方式创建有些冗余,可以改为用类的方式创建,将person都具备的结构抽象出来,用new的方式创建出对象,更方便简洁
用类的方式创建对象(new)
//构造方法
function personClass(pAge,pSex,pName) {
this.name=pName || ‘xiaoming’;
this.age=pAge;
this.sex=pSex;
this.slogan= function() {
console.log('My name is ’ + this.pName)
}
}
var person1 = new personClass(18,‘male’);
var person2 = new personClass(‘xiaohong’,18,‘female’);
person1和person2是独立的两个对象
当要设置默认值时,还是要遵循有默认值的属性放最后的原则
ES6之后可以用class来定义类
查:
获取对象的属性——用点’.’ 或者方括号[]
//方法一
var name = person1.name;
//方法二
var name = person1[‘name’];
当属性名可以不用引号时才能用点的方式获取
使用方括号时,如果不是纯数字,记得加引号
改:
//方法一
person1.name = ‘xiaoming1’;
//方法二
person1[‘name’] = ‘xiaoming2’;
修改属性时,如果对象里没有这条属性,会自动加上
增:
//方法一
person1.height = 180;
//方法二
person1[‘height’] = 180;
删:
var person1 = {
name:‘xiaoming’,
age:18,
sex:‘male’,
slogan: function() {
console.log(‘My name is xiaoming.’)
},
first_name:‘xiao’,
son:{
name:‘xiao xiao ming’,
}
}
var xiaoxiaoming = person1.son;
delete person1.son;
此时person1已经没有son属性,但xiaoxiaoming还存在
删属性只是切断了对象和属性之间的联系,没有将属性销毁回收
遍历属性:
for (var pN in person1) {
console.log(‘person1的属性名:’+pN+“,值:”+person1[pN]);
}
var person1 = {
name:‘xiaoming’,
age:18,
sex:‘male’,
slogan: function() {
console.log(‘My name is xiaoming.’)
},
first_name:‘xiao’,
son:{
name:‘xiao xiao ming’,
}
}
var person2 = person1;
person2.name = ‘xiaoming2’
console.log(person2)
console.log(person1)
person1和person2中的name都是’xiaoming2’
原因:
1.变量仅能存储很小的东西,如数字,字符串,布尔值;
2.对象比较复杂,变量存储的是对象的地址,即引用;
3.变量不存储对象的内容,因此我们对对象的操作是通过方括号或点实现的;
4.person2得到的也是对象的地址,因此,person2对属性做的修改直接修改了该对象(浅拷贝)
5.如果想要快速定义出独立的对象,又不冗余地重新再写一遍,可以用类来定义对象结构
多人协作时,个人维护自己的内容,命名不冲突
例如:
//我是ccy,创建name和age变量
var ccy = {}
最后
自我介绍一下,小编13年上海交大毕业,曾经在小公司待过,也去过华为、OPPO等大厂,18年进入阿里一直到现在。
深知大多数初中级Android工程师,想要提升技能,往往是自己摸索成长,自己不成体系的自学效果低效漫长且无助。
因此收集整理了一份《2024年Web前端开发全套学习资料》,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友,同时减轻大家的负担。
既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,基本涵盖了95%以上Android开发知识点!不论你是刚入门Android开发的新手,还是希望在技术上不断提升的资深开发者,这些资料都将为你打开新的学习之门!
如果你觉得这些内容对你有帮助,需要这份全套学习资料的朋友可以戳我获取!!
由于文件比较大,这里只是将部分目录截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频,并且会持续更新!
yZxHg1XQ-1715881227640)]
既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,基本涵盖了95%以上Android开发知识点!不论你是刚入门Android开发的新手,还是希望在技术上不断提升的资深开发者,这些资料都将为你打开新的学习之门!
如果你觉得这些内容对你有帮助,需要这份全套学习资料的朋友可以戳我获取!!
由于文件比较大,这里只是将部分目录截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频,并且会持续更新!