SOURCE

var name='哎哎哎';

var a={
    name:'123',
    fn1:function(){
        console.log('fn1:'+this.name)
    },
    fn2:()=>{
        console.log('fn2:'+this.name)
    }
}
// a.fn1();
// a.fn2();
var fn3=a.fn1;
var fn4=a.fn2;
var b={
    name:'1234'
}
a.fn1.bind(b)();
a.fn2.bind(b)();

// 如果是function fn(){}这种方式声明的函数的话,如果没有用call,apply,bind之类的绑定this的话,
// 那调用函数的时候可以分为2种调用形式:
// 1.直接调用,比如fn(),这个时候相当于window.fn()所以this指向window
// 2.以对象属性的方式调用xxx.fn(),比如obj.fn(),这个时候this指向obj

// 箭头函数,上下文指向定义时的上下文
console 命令行工具 X clear

                    
>
console