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();