js中this关键字的使用方法

  1. 方法中的this,指向调用方法的对象
  2. 全局环境下指向全局对象
  3. 全局函数中的this,指向全局对象
  4. 内部函数中的this,指向全局对象
  5. 事件中的this,指向触发事件的DOM对象
  6. 构造函数中的this,指向new创建的对象
  7. 箭头函数中的this,指向定义函数上下文的this
  8. 使用闭包,var获取dom的索引
    //1.直接输出this指向全局对象
        // console.log(this);
    ---------------------------------------------------------
     //2.this放在方法中。this指向调用这个方法的对象
        // let cat = {
        //     name: 'summer',
        //     sayName() {
        //         console.log('我是summer');
        //     }
        // }
        // cat.sayName();
    ------------------------------------------------------------
    //3.全局函数其实是window(全局对象)的方法
        // function fun() {
        //     console.log(this);
        // }
        // fun();
    ---------------------------------------------------------------
      //new关键字做了什么:new会创建对象,将构造函数中的this指向创建出来的对象
        //构造函数:用来创建对象
        // function F() {
        //     console.log('我是构造函数');
        //     this.name = '小明'
        // }
        // let f = new F();
        // console.log(f);
    --------------------------------------------------------------------
     // const btn = document.querySelector('button');
        // btn.onclick = function () {
        //     console.log(this);
        // }
    --------------------------------------------------------------------------
     //箭头函数中没有this
    
        // let cat = {
        //     name: 'summer',
        //     sayName() {
        //         console.log(this);
        //         setTimeout(function () {//全局函数下指向window
        //             console.log(this);
        //         }, 1000)
        //     }
        // }
        // cat.sayName();
        let cat = {
            name: 'summer',
            sayName() {
                console.log(this);
                setTimeout(() => {
                    console.log(this);
                }, 1000)
            }
        }
        cat.sayName();

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值