Javascript 为什么这个函数在初始化两个对象时只返回一个对象?
我已经初始化了两个对象,但是当我调整大小(这会触发一个写入每个对象名称的函数)时,它只写入最后一个对象 我刚从jQuery改为编写香草Javascript,所以如果代码没有意义、缺少什么东西或完全错误,请告诉我!我非常欢迎批评,我只想学习正确的方法 不管怎样,有没有人能帮你弄清楚为什么它只返回第二个/最后一个对象? CodePen 代码Javascript 为什么这个函数在初始化两个对象时只返回一个对象?,javascript,Javascript,我已经初始化了两个对象,但是当我调整大小(这会触发一个写入每个对象名称的函数)时,它只写入最后一个对象 我刚从jQuery改为编写香草Javascript,所以如果代码没有意义、缺少什么东西或完全错误,请告诉我!我非常欢迎批评,我只想学习正确的方法 不管怎样,有没有人能帮你弄清楚为什么它只返回第二个/最后一个对象? CodePen 代码 const Obj = function(options) { const cont = document.querySelector('.cont'
const Obj = function(options) {
const cont = document.querySelector('.cont');
const obj = options.objClass;
let delay = function() {};
const whenDone = () => cont.innerHTML += `${obj}<br>`;
return window.onresize = () => {
clearTimeout(delay);
return delay = setTimeout(whenDone, 100);
};
};
const one = new Obj({
sliderClass: 'slider-1'
});
const two = new Obj({
objClass: 'slider-2'
});
const Obj=功能(选项){
const cont=document.querySelector('.cont');
const obj=options.objClass;
设delay=function(){};
const whenDone=()=>cont.innerHTML+=`${obj}
`;
return window.onresize=()=>{
清除超时(延迟);
返回延迟=设置超时(whenDone,100);
};
};
const one=新对象({
sliderClass:“slider-1”
});
常数2=新对象({
对象类:“slider-2”
});
谢谢 您只能通过
window.onresize
分配一个事件处理程序。改用addEventListener
:
window.addEventListener('resize', () => {
clearTimeout(delay);
delay = setTimeout(whenDone, 100);
});
此外,从构造函数返回某些内容没有多大意义,从
调整大小
事件侦听器返回也没有多大意义。您正在覆盖窗口。onresize
属性…感谢您的回复。事实上,我是用咖啡脚本写的,它没有这些回报。我通过转换它,没有意识到它有回报…在任何情况下,谢谢你的答复和答案。