Javascript 按下按钮时全局变量未更改(范围问题)

Javascript 按下按钮时全局变量未更改(范围问题),javascript,jquery,scope,Javascript,Jquery,Scope,我有一个声明的变量和jQuery代码,告诉按钮将表单的值存储为该变量的值并执行函数 var verb = ""; $( "#submit" ).click(function() { verb = $('#enter').val(); teConjugate(); }); 在teConjugate()函数中,我使用我想在teConjugate()函数之外使用的“动词”变量放置了许多函数和变量。但是,当我全局声明这些函数和变量时,它们使用全局声明的“动词”(这是一个空字符串)。我做过研

我有一个声明的变量和jQuery代码,告诉按钮将表单的值存储为该变量的值并执行函数

var verb = "";
$( "#submit" ).click(function() {
   verb = $('#enter').val();
   teConjugate();
});
在teConjugate()函数中,我使用我想在teConjugate()函数之外使用的“动词”变量放置了许多函数和变量。但是,当我全局声明这些函数和变量时,它们使用全局声明的“动词”(这是一个空字符串)。我做过研究,我知道这与页面的呈现有关(因为console.log不会引起同样的问题)

我唯一想到的是将上述函数和变量放入一个初始化函数中,该函数在单击按钮时执行,以减少复制粘贴所有内容的麻烦。然而,这也不起作用

有什么解决办法吗?任何帮助都将不胜感激


正如我们所看到的,在函数之外有很多变量和函数更有用。

这里显示的内容没有错()。我怀疑这与你的
teConjugate()有关功能。

是我试图实现的目标。如您所见,当我提醒usefulFunctionDeclaredOutsideOfTeConjugate时,它不接受动词的新值。您是否希望如果键入“This”,第二个警告将是“This is cool”。如果是这样,那就行不通了。您已经将变量初始化为
…=动词+“很酷!”
其中动词是空字符串。一个变量不会改变,除非你特别设定它。好的,我明白你的意思。我是否可以用一种方便的方式初始化变量,这样就不必在我想使用它们的每个函数中重新键入它们?您可以创建一个单独的函数“GetUsefulFunctionDeclaredOutsideOfTeConjugate(),返回值-谢谢,这很有效!但是,我必须声明很多可以作为函数的变量。我要用这个方法做实验!