首页
学习
活动
专区
圈层
工具
发布
社区首页 >专栏 >你真的懂this指向?

你真的懂this指向?

作者头像
马克社区
发布于 2022-07-25 15:48:13
发布于 2022-07-25 15:48:13
9940
举报
文章被收录于专栏:高端IT高端IT

先搞清楚一点,如果this在函数里面,那么它指向的是“函数执行后”的上一级调用对象。

代码语言:javascript
复制
    var a="this is a";
    function main() {
    console.log(this.a)//这里this指向window.
    }
    main()//这里相当于window.main(),默认window对象了,所以可以省略;
12345

var o={ x:“this is x”, y:“this is y”, say:function(){ console.log(this.x); } } o.say();//这里的this指向的是对象o,因为你调用这个say是通过o.say()执行的,那自然指向就是对象o,这里再次强调一点,this的指向在函数创建的时候是决定不了的,在调用的时候才能决定,谁调用的就指向谁,一定要搞清楚这个。

var o={ name:“maomin”, say1:function(){ console.log(this.name);//maomin } } window.o.say1(); // 上面几行代码和之前的代码几乎相似,为什么没有指向window,这就回到了我刚开始说的,this如果在函数内,那么它指向的是该函数执行后的上一级调用对象。

更多请见:https://blog.csdn.net/weixin_44519496/article/details/120128073

本文系转载,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档