1

我无法理解为什么我无法将此处放置在全局范围中的 ( 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$() 和其他看起来很奇怪的函数。它们只是我为练习而建造的图书馆。

4

0 回答 0