"Проблема в том, что переменная не определена до прохождения через функцию. Она генерирует ошибку JavaScript."
Под «undefined» я полагаю, вы имеете в виду «undeclared» , что вызывает ReferenceError
.
Если это так, вам нужно проверить, существует ли он, прежде чем передать его в функцию, что делает функцию довольно бессмысленной.
Вместо того, чтобы пытаться создать функцию для проверки необъявленных переменных, просто объявите их перед использованием.
IMO, typeof x === 'undefined'
- отвратительный взлом, который не должен быть необходим. Вы должны считать ReferenceError
своим другом, который говорит вам, что нужно что-то исправить. Взлом typeof
не позволяет вашему другу рассказать вам, что происходит.