将变量传递到函数javascript [duplicate]

问题描述 投票:0回答:1

我似乎不太清楚为什么我创建的变量没有以我想要的方式返回。这里有简单的数学问题,即乘法和除法。在函数外部创建变量会返回NaN,但是在函数内部调用会返回我怀疑的结果。

以下片段:

var p = parseInt(document.getElementById('watts').value, 10);
var e = parseInt(document.getElementById('volts').value, 10);

function calcAmps(){
  var p = parseInt(document.getElementById('watts').value, 10);
  var e = parseInt(document.getElementById('volts').value, 10);
  document.getElementById('answer').innerHTML = p/e;
};

现在,使用函数中的变量可以正常工作。数学执行没有问题。但是,如果我注释掉函数中的变量并尝试使用全局变量,则会得到NaN。

有什么想法吗?应该是垒球问题。

javascript function math
1个回答
0
投票

在函数外初始化时,仅在脚本首次运行时才从DOM once中获取值。在函数内部,将在计算实际发生时获取值。

为清楚起见,以下内容:

var p = parseInt(document.getElementById('watts').value, 10);

是否不是表示在变量p和输入字段之间建立了永久的动态关系。相反,它指示运行时获取字段代码运行时当前值。此后,您在输入字段中键入的任何内容都不会反映为p的值。

© www.soinside.com 2019 - 2024. All rights reserved.