var a = 1
var b = {
a: 2,
c: () => {
var a = 3
console.log('c',a,this.a)
},
d: function() {
var a = 4
console.log('d',a,this.a)
},
e: () => {
var a = 5
return () => {
var a=6
console.log('e',a,this.a)
}
},
f: function() {
var a = 5
return () => {
var a=6
console.log('f',a,this.a)
}
},
}
b.c() // c 3 1
var m = b.c
m() // c 3 1
b.d() // d 4 2
var n = b.d
n() // d 4 1
b.e()() // e 6 1
var p = b.e
p()() // e 6 1
var p = b.e()
p() // e 6 1
b.f()() // f 6 2
var o = b.f
o()() // f 6 1
var o = b.f()
o() // f 6 2