按下按钮时,全局变量不会改变(范围问题)

时间:2014-07-20 22:34:24

标签: javascript jquery scope

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

var verb = "";
$( "#submit" ).click(function() {
   verb = $('#enter').val();
   teConjugate();
});

在teConjugate()函数中,我使用" verb"放置了很多函数和变量。我想在teConjugate()函数之外使用的变量。但是,当我在全局声明这些函数和变量时,它们使用全局声明的"动词" (这是一个空字符串)。我已完成研究,我知道它与页面的呈现有关(因为console.log不会引起同样的问题)。

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

有什么解决方案吗?任何帮助将不胜感激。

JSbin with the dilemma. 可以看出,有很多变量和函数在函数外部更有用。

1 个答案:

答案 0 :(得分:1)

您在此处展示的内容没有任何问题(see this fiddle)。我怀疑这与您的teConjugate();功能有关。