var name = 'window'
// var name = 'window' 表示在window中name的值为 ’window‘

var person = {
    name: 'person',
    sayName: function () {
        console.log(this.name)
    }
}

function sayName () {
    var sss = person.sayName;

    sss();// window  独立调用指向全局对象window

    person.sayName(); // person  隐式调用

    (person.sayName)(); // person  和上一句效果一样(person.sayName) 带小括号不带小括号没区别

    (b = person.sayName)() // window  间接引用 ,(b = person.sayName)的结果是一个值,并没有和person对象有联系,所以后面加一个()进行调用的时候,还是属于默认绑定(直接调用),this指向全局对象
}

sayName()

External CSS

This Pen doesn't use any external CSS resources.

External JavaScript

This Pen doesn't use any external JavaScript resources.