js call 理解

 首先直接放定义:

总结

1.前提:fun是函数 

2.thisArg是在fun函数运行时 指定的this值

1.使用call来继承,新函数使用已经定义好的函数里的方法

下面直接上实例  函数b直接使用函数a里的c方法

<script>
    function a(){
        this.a='a';
        this.b='b';
        this.c=function() {

            alert('ccc')
        }
    }

   function b(){
       a.call(this)
   }


 var d= new b();
    d.c();

</script>

 2.使用call()函数后 ,this改变指向,并且复制临时函数f,完成函数的继承

先来看看函数运行call前后的指向

很明显 最开始b函数的this是指向自身,通过call函数改变this指向 ,获得了a函数的属性和方法

 

参考资料

Function.prototype.call()

原文地址:https://www.cnblogs.com/xxx91hx/p/8562293.html