This is because the arrow function in ES6 does not create its own execution context, so the this of the arrow function depends on its external function. The this of the arrow function is actually the this of the say function. This is the object that calls her because it is called as an object property
Both “this” and “this” refer to window because nested functions do not inherit “this” and refer to window. F1 is a nested function and its “this” refers to window