Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/url/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 从不同函数访问变量_Javascript_Html - Fatal编程技术网

Javascript 从不同函数访问变量

Javascript 从不同函数访问变量,javascript,html,Javascript,Html,我有下面的HTML代码,它创建了一个按钮,当点击它在我的页面中创建一些问题时,效果很好 <input type="number" name="quantity" id="num_questions" min="1" max="99"><br> <input type="button" name="go" id="go_button" value="Go" onclick="createQuestions()"><br> 我有另一个按钮,它调用一个

我有下面的HTML代码,它创建了一个按钮,当点击它在我的页面中创建一些问题时,效果很好

<input type="number" name="quantity" id="num_questions" min="1" max="99"><br>
<input type="button" name="go" id="go_button" value="Go" onclick="createQuestions()"><br>
我有另一个按钮,它调用一个单独的函数,但我需要在另一个函数中本地定义的变量号。有什么方法可以获取该变量并全局使用它吗?我尝试在函数外部定义它,但由于onclick事件只调用一个函数,因此它不会创建变量

其他按钮:

<input type="submit" name="submit" value="Create Tree" onclick="displayData()">

无法从函数外部访问函数的局部变量,因此您有四个选项:

  • 声明一个全局变量
  • 编写一个单独的函数为您获取值
  • 创建包含所需值的对象
  • 使用
    getElementById()
  • 根据,您可以在调用任何函数之前定义一个变量,然后在不同的函数中使用它

    var global1 = "I'm a global!";
    
    function setGlobal () {
        global1= document.getElementById('num_questions').value;
    }
    function testGlobal () {
        alert(global1);
    }
    

    如果全局定义变量,则应该能够在任何位置访问该变量。当您运行
    createQuestions()
    函数时,可以将其赋值。你能把剩下的JS贴在这里吗?完全解决这个问题会很有帮助。可能重复,但当我在单击按钮时调用该函数setGlobal()时,不会声明变量,因为单击按钮只调用该函数。您可以不在函数内声明它,但可以重新分配变量。而且它将是可访问的,因为它是全球性的。啊哈!好了,这正是我需要的。我想知道为什么我从来没有想到这一点。谢谢
    var global1 = "I'm a global!";
    
    function setGlobal () {
        global1= document.getElementById('num_questions').value;
    }
    function testGlobal () {
        alert(global1);
    }