Значение this
во второй функции указывает на экземпляр этой функции.Чтобы исправить это, вы можете использовать функции стрелок ES6, которые не позволяют им создавать свои собственные области.
function Elements() {
document.querySelectorAll('*[id]').forEach((element) => {
this[element.id] = element;
});
}