const styleBackground = function () {
console.log('ok')
console.log(this)
}
const showDropdown = function () {
console.log(this)
styleBackground()
}
navItems.forEach(function (navItem) {
navItem.addEventListener("mouseenter", showDropdown)
})
你好有人可以解释一下为什么嵌套函数中的窗口是元素而不是元素吗?
嵌套函数对在showDropdown(函数内部的函数)中调用的styleBackground()是否正确命名?
将其传达给函数内部的最佳选择是什么? styleBackground(this)吗?
非常感谢
答案 0 :(得分:0)
如果要专门设置“ this”值https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Function/bind
,请阅读“ bind”方法基本上,上下文是在某些情况下推断的,但会回退到窗口。
或者使用箭头函数https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Functions/Arrow_functions#No_separate_this保留上下文。