const a = [] function f () { return this } a.push(f) console.log(a[0]() === a) // true const b = [] b.push(f) b.forEach(function (func) { console.log(this === b) // true console.log(func()) // undefined if in strict mode, global if not }, b)