Самопризывающая функция, вмешивающаяся в window.onload, если
У меня есть window.onload
функционировать прямо перед функцией самопризыва.
window.onload = function(){
console.log(document.getElementById("one")); //returns null
}
(function selfExecuting(){
console.log("hi")
}());
HTML просто:
<div id="one">hi</div>
Когда я пытаюсь найти элемент DOM в функции window.onload, он возвращает "null
Msgstr "Если я добавляю строку кода, в которой хранится неиспользуемая переменная.
window.onload = function(){
console.log(document.getElementById("one")); //now, this returns "<div id="one">hi</div>"
}
var unusedVar = "var"; // This unused variable makes the code work
(function selfExecuting(){
console.log("hi")
}());
Может кто-нибудь помочь мне понять, почему это так работает? Что делает эта неиспользуемая строка кода? У меня есть ощущение, что это как-то связано с тем, как работают функции, вызывающие себя, но я не уверен.
Примечание: я попытался поделиться этим как скрипка, но это привело к немного другим журналам консоли. Я получаю консольные журналы с Chrome, если это что-то меняет.