JavaScript 日记

本文主要介绍JavaScript相关概念。this在函数中指向调用者,全局作用域指向window,构造函数中指向实例,对象方法中指向当前object。还讲解了浅拷贝只拷贝引用类型地址,深拷贝可避免数据同步修改及实现方法。此外,介绍了构造函数和原型对象的概念。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

#关于this的理解

this一般会出现在函数中,谁调用了this那么this就指向谁,需要注意的是
1.在全局作用域中使用this或者定义的全局变量调用this,此时的this就指向window
2.在构造函数中,this指向的是当前的实例。
3.在对象方法中,this指向当前的object。

##关于深拷贝和浅拷贝的理解

浅拷贝:浅拷贝就是在拷贝属性值为引用类型(即值为数组或对象)的时候,只拷贝其地址,而不是拷贝值,然后导致修改拷贝后的引用类型数据会改变原来的额引用类型的属性。
深拷贝:拷贝后不管是值类型还是引用类型,修改拷贝后的数据,不会对原来的数据造成同步修改。
深拷贝的方法:.
1.通过for-in循环+递归进行实现
2.通过JSON方法转换实现【不会转方法】
先用JSON.stringify方法把对象转换为字符串
在用JSON.parse()方法把字符串转为对象

#关于构造函数的理解
构造函数就是用构造函数创造一个”类“,
构造函数的实例对象就是给”类“创造的具体的实例,通过new + 构造函数名来实现。
#原型对象
各个数据类型对象上都有一个prototype属性,表示为他的原型。然后这些类型的实例都可以继承此原型上的属性和方法。实例对象能够访问构造他的抽象类型原型上的属性和方法。
如果给原型对象添加某种属性的方法,那么这个原型对象下所属所有的实例对象都会被添加这个属性方法。
能够new出一个实例对象的对象,就会具有prototype原型属性。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值