var varFunc = function declareFunc() {
  console.log(this); // window
  console.log(this.declareFunc); // undefined
  console.log(declareFunc); // function body
}
console.log(this) // window
varFunc();
i know this in function direction to  window, but window doesn't has props declareFunc, but , finally this code still console [Function: declareFunc]  why?
and if i use Function.name :
var varFunc = function declareFunc() {
  console.log(this); // window
  console.log(declareFunc.name) // "declareFunc"
  console.log(varFunc.name); // "declareFunc". but why?
  console.log(this.declareFunc); // undefined
  console.log(declareFunc); // function body
}
console.log(varFunc.name) // "declareFunc". why?
var aa = function (){}
console.log(aa.name) // "aa"
console.log(this) // window
varFunc();
 
    