Самопризывающая функция, вмешивающаяся в 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, он возвращает "nullMsgstr "Если я добавляю строку кода, в которой хранится неиспользуемая переменная.

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, если это что-то меняет.

0 ответов

Другие вопросы по тегам