我无法理解为什么我不能获取放置在全局范围内的(name)变量,以供我的函数greeting1()的词法范围使用。我想将这些值用于所有函数,而不必继续在每个函数中编写它们。这与值没有在单击提交按钮之前不存储在值中有关吗,这就是为什么它返回一个空字符串作为名和姓值的原因?
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 $()和其他看起来很奇怪的函数。他们只是我正在建立的图书馆。