如何在JavaScript函数之外获得价值

时间:2019-12-18 05:51:07

标签: javascript

这是我当前使用javascript编写的代码,我的问题是,当我单击下一步按钮时,我能够在函数内部获取temp_x值,但无法在外部获取temp_x值。请帮我解决我做错的地方。 我想在[{“ x”:temp_x}]

中获得temp_x
<script type="text/javascript">    
 data = ["09:15:44.158162924", "09:15:44.244061560", "09:15:44.296753930"]

let temp_x = [];
var Current = 0;


function Next(){
    if(Current == data.length - 1){
        Current = 0;
    }

    else { 
        temp_x.push(data[Current]);
        Current++;
    }

}
<div>
    <button onclick="Next();">Next!</button>
</div>

</script>

<script type="text/javascript">
  [{ "x": temp_x, "xaxis": "x", "y": ydata, "yaxis": "y"}]
</script>

1 个答案:

答案 0 :(得分:2)

这是因为您试图在不同的执行上下文中使用该变量。

{<script></script这样的每个块都会创建自己的执行上下文,而您正在使用let来分配一个变量,该变量存在于作用域内部,而在其作用域之外无法使用。

使用var代替let

var temp_x = [];
var Current = 0;

var 声明是全局范围或函数范围,而 let const 是块范围。可以在其范围内更新和重新声明 var 变量; let 变量可以更新,但不能重新声明; const变量既不能更新也不能重新声明