美文网首页
改变this指向的方法

改变this指向的方法

作者: 成长储存罐 | 来源:发表于2019-08-26 21:12 被阅读0次

    箭头函数和普通函数的区别如下。

    普通函数:根据调用我的人(谁调用我,我的this就指向谁)

    箭头函数:根据所在的环境(我再哪个环境中,this就指向谁)

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

    只要记住【 this 永远指向调用它的对象,new的时候,指向new出来的对象。】

    1.call(), 

    2.apply(),

    3.bind();

    call和apply的区别

    每个函数都包含两个非继承而来的方法:apply()和call()。

    call与apply都属于Function.prototype的一个方法,所以每个function实例都有call、apply属性;

    使用call方法参数必须写完整,不能支持数组。

    var a =[1,2,3,9,8,7]

    console.log(Math.max.call(null,a))    //不可行,参数必须逐个写出来,完整参数。

    console.log(Math.max.call(null,1,2,3,9,8,7))    //可行。

    console.log(Math.max.apply(null.a))    //可行。

    使用apply参数可以支持数组,不用逐个写出来,直接用数组。

    相关文章

      网友评论

          本文标题:改变this指向的方法

          本文链接:https://www.haomeiwen.com/subject/nvcjectx.html