美文网首页
箭头函数和普通函数的区别

箭头函数和普通函数的区别

作者: 月半女那 | 来源:发表于2018-02-27 22:51 被阅读0次

    普通函数:

    1.thiss表示的是它的直接调用者,

    2.默认情况下,如果没有直接调用者,this指向window

    3.在严格模式下,如果没有直接调用者this表示undefined

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

    箭头函数

    this默认指向在定义它时它所在的对象,而不是执行对象

    例如:例1.

        返回的是 window

      例2

    调用结果是2,4,8,8

    <1> 12行代码

    val变量在没有指定对象前缀,默认从函数中找,找不到则从window中找全局变量

    即 val *=2 就是 window.val *= 2

    this.val默认指的是 obj.val ;因为 dbl()第一次被obj直接调用

    <2>14行代码调用

    func() 没有任何前缀,类似于全局函数,即  window.func调用,所以

    第二次调用的时候, this指的是window, val指的是window.val

    第二次的结果受第一次的影响

    例3.

    返回的是undefined

    例4.

    由于是箭头函数,所以返回的是定义它时它所在的对象,所以是 obj

    借鉴于:ES6中箭头函数与普通函数this的区别 - 自由灬飞翔丨 - 博客园

    相关文章

      网友评论

          本文标题:箭头函数和普通函数的区别

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