• 博客园logo
  • 会员
  • 众包
  • 新闻
  • 博问
  • 闪存
  • 赞助商
  • HarmonyOS
  • Chat2DB
    • 搜索
      所有博客
    • 搜索
      当前博客
  • 写随笔 我的博客 短消息 简洁模式
    用户头像
    我的博客 我的园子 账号设置 会员中心 简洁模式 ... 退出登录
    注册 登录
小许学习笔记
博客园    首页    新随笔    联系   管理    订阅  订阅
JavaScript - this 的指向

本笔记为学习网易云课堂上的【撩课-零基础玩转JavaScript】所做。

 

函数在定义的时候 this 是不确定的,只有在调用的时候才可以确定。 

 

一、普通函数执行,内部 this 指向全局对象 window

function func(){
    console.log(this);  //Window {window: Window, self: Window, document: document, name: "", location: Location, …}
}
func();

 

二、如果函数作为一个对象的方法,被该对象所调用,那么函数内的 this 则指向该对象

var obj = {
    name: '撩课',
    func: function(){
        console.log(this);    //{name: "撩课", func: ƒ}
    }
}
obj.func();

因为 this 指向该对象,所以,可以通过 this 取得对象 obj 的属性值。

var obj = {
    name: '撩课',
    func: function(){
        console.log(this.name); //撩课
    }
}
obj.func();

 

三、构造函数中的 this 是一个隐式对象,类似一个初始化的模型,所有方法和属性都挂在到了这个隐式对象身上,后续通过 new 关键字来调用,从而实现实例化

function Fn(){
    this.name = '张三';
    this.age = 23;
    console.log(this);  //{name: "撩课", func: ƒ}
}
new Fn();  

 

posted on 2021-07-27 10:34  xiaoxustudy  阅读(52)  评论(0)    收藏  举报
刷新页面返回顶部
博客园  ©  2004-2025
浙公网安备 33010602011771号 浙ICP备2021040463号-3