this 方法只能在函数中被调用,它通常表示调用这个函数的对象,即 user.sayHi(){ alert(this.name + ‘hello!0’) }

    其中的 this 就表示 user 这个对象,当这个函数被单独调用时,this 会指向 window ,这是不合理的,在严格模式下已经被修复了,严格模式(use strict)下单独调用该函数 this 指向的的是 undefined 。

    对于箭头函数,this 又表现出一个特别的特性,它的值取决于外部的正常的函数,例如:

    对象方法,"this" - 图1

    在这段代码中,this 指向的时 user 对象

    总结

    1.储存在对象属性中的函数被称为“方法”。

    2.方法允许对象进行像 object.doSomething() 这样的操作。

    方法可以将对象引用为 this 。

    4.this 只有在程序运行时才有值,即使 this 已经跟随函数提前声明了。

    5.以“方法”的语法调用函数时,调用过程的 this 值为调用方法的对象。

    6.可以在对象之间复制函数。

    7.注意箭头函数,箭头函数没有 this 值,但它可以从外部获取 this 值。