抱歉,我刚刚开始学习javascript。
所以我想创建隐藏slika[0]
的函数。
function hide() {
this.style.display ='none';
};
slika[0] = setTimeout(hide, 4000);
错误是:
TypeError: this.style is undefined
this.style.display ='none';
答案 0 :(得分:1)
当您致电hide
时,this
将成为window
对象,而window
对象则没有style
属性。这就是你得到的原因
this.style is undefined
如果您想要隐藏slika[0]
,那么您应该bind
hide
功能slika[0]
,就像这样
setTimeout(hide.bind(slika[0]), 4000);
现在,您已将slika[0]
绑定到hide
函数。因此,在调用hide
时,this
会引用slika[0]
,并将显示样式设置为none
。
如果你想要一个泛型函数,你可以简单地接受这个对象作为参数,比如
function hideObject(object) {
object.style.display ='none';
}