zoukankan      html  css  js  c++  java
  • this指向问题

    普通函数:

    1.this指向直接调用该函数的对象,例如:obj.fn obj调用fn函数,该this为obj对象。

    2.如果没有直接调用对象,该this在严格模式下指向为undefind,默认模式下该this指向为window对象。

    3.使用call,apply,bind绑定的this,this指向绑定的对象。

     var obj = {
         num:1,
        func: function() {
           console.log(this.num)
       },
       say: function () {
         var that = this;   //此时的this就是obj对象
         setTimeout(function () {
           console.log(this)  // 该this为window对象   如果使用箭头函数this就指向obj
           that.func()
         });
       }
     }
     obj.say();

    箭头函数:

    箭头函数没有自己的this, 它的this是继承而来; 默认指向在定义它时所处的对象(宿主对象),而不是执行时的对象, 定义它的时候,可能环境是window; 箭头函数可以方便地让我们在 setTimeout ,setInterval中方便的使用this

  • 相关阅读:
    第八次作业
    第七次作业2
    jsp第十一次作业
    jsp第十次作业
    jsp第九次作业
    jsp第八次作业
    jsp第七次作业
    jsp第六次作业
    软件测试第二次作业
    jsp第五次作业
  • 原文地址:https://www.cnblogs.com/dujunfeng/p/8825093.html
Copyright © 2011-2022 走看看