JavaScript中this的指向问题

举报
云水僧 发表于 2023/04/06 22:03:20 2023/04/06
【摘要】 JavaScript中this的指向问题

this的指向问题
this是一个在运行时才进行绑定的引用,在不同的情况下它可能会被绑定不同的对象
this 永远指向最后调用它的那个对象

函数调用模式:当一个函数不是一个对象的属性,直接作为函数来调用时,this指向全局对象
方法调用模式:当一个函数作为一个对象的方法来调用时,this指向这个对象
构造器调用模式:如果一个函数使用new调用时,函数在执行前会创建一个新的对象,this就指向这个新的对象
如何改变this的指向?
使用ES6箭头函数,箭头函数不绑定this,箭头函数的this使用指向函数定义时的this
在函数内部定义一个变量_this保存this
使用 apply、call、bind
new 实例化一个对象
this绑定的优先级:new绑定优先级 > 显示绑定优先级 > 隐式绑定优先级 > 默认绑定优先级
this是一个在运行时才进行绑定的引用,在不同的情况下它可能会被绑定不同的对象
this 永远指向最后调用它的那个对象

函数调用模式:当一个函数不是一个对象的属性,直接作为函数来调用时,this指向全局对象
方法调用模式:当一个函数作为一个对象的方法来调用时,this指向这个对象
构造器调用模式:如果一个函数使用new调用时,函数在执行前会创建一个新的对象,this就指向这个新的对象
如何改变this的指向?
使用ES6箭头函数,箭头函数不绑定this,箭头函数的this使用指向函数定义时的this
在函数内部定义一个变量_this保存this
使用 apply、call、bind
new 实例化一个对象
this绑定的优先级:new绑定优先级 > 显示绑定优先级 > 隐式绑定优先级 > 默认绑定优先级

【版权声明】本文为华为云社区用户原创内容,转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息, 否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。