首页
学习
活动
专区
圈层
工具
发布
社区首页 >专栏 >JS对象中的方法的this指向

JS对象中的方法的this指向

作者头像
蓓蕾心晴
发布2022-06-12 14:38:59
发布2022-06-12 14:38:59
4.2K0
举报
文章被收录于专栏:前端小叙前端小叙
代码语言:javascript
复制
<script>
            // 对象里的方法写的是箭头函数,this始终访问全局
            var name = "xiaoming";
            var obj1 = {
                name: "xiaohong",
                getName: () => {
                    console.log(this.name);
                },
            };
            obj1.getName(); // xiaoming
            let getName1 = obj1.getName;
            getName1(); // xiaoming
            let getName11 = obj1.getName.bind(obj1);
            getName11(); // xiaoming

            // 对象的方法写的 function 声明,直接调用 this 指向对象本身,将调用的方法单独保存起来调用,this 指向全局,通过bind 改写 this 指向后,可以继续指向 对象本身
            var obj2 = {
                name: "xiaohong",
                getName: function () {
                    console.log(this.name);
                },
            };
            obj2.getName(); // xiaohong
            let getName2 = obj2.getName;
            getName2(); // xiaoming
            let getName22 = obj2.getName.bind(obj2);
            getName22(); // xiaohong
本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2022-06-10,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

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

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档