js中this的指向

之前学习js时发现this比较难懂,找了一些文章来看,现在自己尝试写一下,看看自己是否真的懂了。

就我自己所理解的,this值存在于函数里面,一般对象是没有的;this的指向有几个规则。1.默认绑定;2.隐式绑定;3.显示绑定;4.new 绑定;

this的指向只有在运行时才能确定而不是定义时;

它们的优先级是:4 > 3 > 2 > 1

箭头函数有点特殊,后面会说到;

1.默认绑定

    在没有其他规则下使用的就是默认绑定这个规则;一般指的是独立函数

 
      function fn() {
        console.log(‘默认绑定‘this);
    默认绑定下,this指向的全局对象(window)
      }

      fn();

   输出结果:

  js中this的指向

 如果是严格模式下this是指向undefined;

 

  "use strict";

      function fn() {
        console.log(‘默认绑定‘this);
      }

      fn();

 

2.隐式绑定

  一般是指某个对象的方法

  

 

js中this的指向

上一篇:PHP $this,self,static 的区别


下一篇:浅析mvvm模式和mvc模式的区别和联系