所以......我最初試圖創建自己的去抖功能,但現在讓我們把它放在一邊,因為我有一個全新的問題(我認為)。下面的代碼將呈現隨機數,我不知道為什么。有人可以解釋一下這里發生了什么嗎?<body><button id='butto'>Click</button><script>let buttonz = document.querySelector('#butto');buttonz.addEventListener('click',function(){ let aaa; console.log(aaa); //outputs 'undefined' - expected if (aaa){ clearTimeout(aaa); console.log(aaa); } aaa = setTimeout(()=>{ console.log('clicked'); aaa = undefined; console.log(aaa); //outputs 'undefined' - expected }, 2000); console.log(aaa); // outputs 'random number' - ???????????????? console.log(typeof aaa); // outputs 'Number' - ????????????????});</script></body>
“未定義”變量變成數字的 JavaScript 行為真的很奇怪嗎?
HUWWW
2022-12-02 17:21:36