什么是this指向?怎么改变this指向

 我来答
大沈他次苹0B
2022-06-19 · TA获得超过7301个赞
知道大有可为答主
回答量:3059
采纳率:100%
帮助的人:174万
展开全部
this在函数定义时确定不了,只有在函数指向时才能确定,this就是谁调用指向谁,没有上一级即指向widow。
第一:this指的是函数运行时所在的环境(即调用的对象)。
第二:JavaScript 语言之所以有this的设计,跟内存里面的数据结构有关系
第三:每一个方法或者是对象都有其this指向;
举例:

例:

指向上一级,假如调用这个函数的有多级对象,那么this指向的是调用它的上一级对象,例:

当函数体被重新赋值后再调用,this指向window对象

就六个字 谁调用,指向谁。但是如果一个函数中有this,并且这个this没有被上一级调用,那么这个this的指向就是window。

如果一个函数中有this,这个函数被上一级对象调用,那么this就指向上一级对象

如果一个函数有this,假如调用这个函数的有多级对象,那么this指向的是调用它的上一级对象。

我们可以用apply(),bind(),call();这三个方法来改变this的指向。
举例说明:

注:这三种方法在没有接收其他参数的情况下没有什么太大不同,但是bind()方法后必须加‘()’,否则会报错。

call()方法比较简单易操作;
apply()在接收其他新的参数的时候,这些参数必须放在一个数组里;
bind()在使用的时候必须加()。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式