У меня возникают проблемы с пониманием, почему я не могу получить переменную (name), которая находится здесь в глобальной области видимости, доступной для лексической области видимости моей функцииreeting1 ().Я хочу использовать эти значения для всех функций и не хочу продолжать писать это в каждой функции.Имеет ли это какое-то отношение к тому, что значение просто не сохраняется в значении до того, как я нажму кнопку отправки, и поэтому оно возвращает пустую строку в качестве значений имени и фамилии?
const firstname = $('#firstname').val();
const lastname = $('#lastname').val();
let name = G$(firstname, lastname);
// example using jQueryGreet()
var greeting1 = function () {
const lang = $('#lang').val();
name.setLang(lang).jQueryGreet('#greeting', true).log();
console.log(name);
}
//example using vanillaGreet()
var greeting2 = function () {
const lang = document.getElementById('lang').value;
name.setLang(lang).vanillaGreet('#greeting').log();
}
$('#login').click(greeting1);
это работает, когда я помещаюпеременные имени, фамилии и имени внутри функций, но не тогда, когда я их вынимаю.
Кроме того, не обращайте внимания на G $ () и другие странные функции.это просто библиотека, которую я строю для практики.