【JS每日刷题】类的赋值引用操作

题目来源于前端面试宝典——选择题栏

创新互联建站服务项目包括罗城网站建设、罗城网站制作、罗城网页制作以及罗城网络营销策划等。多年来,我们专注于互联网行业,利用自身积累的技术优势、行业经验、深度合作伙伴关系等,向广大中小型企业、政府机构等提供互联网行业的解决方案,罗城网站推广取得了明显的社会效益与经济效益。目前,我们服务的客户以成都为中心已经辐射到罗城省份的部分城市,未来相信会继续扩大服务区域并继续获得客户的支持与信任!

习题1

class Counter {
	// 二、count 属性被包含在类 Counter 的构造函数与 increment 方法。
	constructor() {
		this.count = 0
	}

	increment() {
		this.count++
	}
}
// 一、counterOne 成为 类 Counter 的一个实例
const counterOne = new Counter()
// 三、根据二的内容,现在调用方法两次,因此 counterOne.count 为 2
counterOne.increment()
counterOne.increment()

/*
 * 四、
 * 创建一个新的变量 counterTwo 并将 counterOne 的引用地址赋值给它。
 * 因为对象受引用地址的影响,刚刚创建了一个新的对象,其引用地址和 counterOne 的等价。
 * 因此它们指向同一块内存地址,任何对其的副作用都会影响 counterTwo。
 */
const counterTwo = counterOne
// 调用 counterTwo.increment() 将 count 的值设为 3
counterTwo.increment()

console.log(counterOne.count) //所以结果为3

总结

当创建一个实例后,经过一系列类方法定义的操作后,如果再创建一个新的变量,然后把实例赋值给该新变量,那么新变量调用的类方法,也会影响到原实例,因为引用地址一致。

习题2

let c = { greeting: 'Hey!' }
let d
//当设置两个对象彼此相等时,它们会通过引用进行交互
d = c
//当我们改变其中一个对象时,其实是改变了所有的对象
c.greeting = 'Hello'
console.log(d.greeting)

其实跟上面这题一样,不同点在于不用创建类,然后再使某个变量成为实例。

本文题目:【JS每日刷题】类的赋值引用操作
标题链接:https://www.cdcxhl.com/article26/dsojgjg.html

成都网站建设公司_创新互联,为您提供营销型网站建设品牌网站设计外贸建站搜索引擎优化品牌网站建设

广告

声明:本网站发布的内容(图片、视频和文字)以用户投稿、用户转载内容为主,如果涉及侵权请尽快告知,我们将会在第一时间删除。文章观点不代表本网站立场,如需处理请联系客服。电话:028-86922220;邮箱:631063699@qq.com。内容未经允许不得转载,或转载时需注明来源: 创新互联

成都seo排名网站优化