前端入门篇(三十九)JS基础6对象

当要创建与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前端开发全套学习资料》,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友,同时减轻大家的负担。

img

既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,基本涵盖了95%以上Android开发知识点!不论你是刚入门Android开发的新手,还是希望在技术上不断提升的资深开发者,这些资料都将为你打开新的学习之门!

如果你觉得这些内容对你有帮助,需要这份全套学习资料的朋友可以戳我获取!!

由于文件比较大,这里只是将部分目录截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频,并且会持续更新!
yZxHg1XQ-1715881227640)]

既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,基本涵盖了95%以上Android开发知识点!不论你是刚入门Android开发的新手,还是希望在技术上不断提升的资深开发者,这些资料都将为你打开新的学习之门!

如果你觉得这些内容对你有帮助,需要这份全套学习资料的朋友可以戳我获取!!

由于文件比较大,这里只是将部分目录截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频,并且会持续更新!

  • 5
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值