面试题答案
一键面试- 在
outer
函数中this
的指向:- 在非严格模式下,当
outer
函数作为普通函数调用时,this
指向全局对象(在浏览器环境中是window
,在Node.js环境中是global
)。这是因为在非严格模式下,普通函数调用时,函数内部的this
会默认指向全局对象。 - 在严格模式下,当
outer
函数作为普通函数调用时,this
的值为undefined
。因为严格模式下,普通函数调用时this
不会默认指向全局对象。
- 在非严格模式下,当
- 在
inner
函数中this
的指向:- 同样在非严格模式下,
inner
函数作为普通函数调用(这里是在outer
函数内部直接调用inner()
),this
指向全局对象(在浏览器环境中是window
,在Node.js环境中是global
)。原因和outer
函数在非严格模式下作为普通函数调用时this
指向全局对象一样,普通函数调用时,函数内部的this
默认指向全局对象。 - 在严格模式下,
inner
函数作为普通函数调用,this
的值为undefined
。因为严格模式下,普通函数调用时this
不会默认指向全局对象。
- 同样在非严格模式下,