JavaScript:innerHTML输出未定义,尽管console.log输出正确的值

时间:2019-11-24 02:26:44

标签: javascript undefined innerhtml

我正在尝试使用JS制作计算器应用,而正弦和余弦函数却很麻烦。

之前的行
nout = Nel*(size(data,2)-1);
% Data vector for K
Kdata = zeros(1,nout);
% Data vector for f
fdata = zeros(1,nout);
% Index vector for K and f
sparseIdxvec = ones(1,nout);
outIdx = 1;
for i = 1:Nel
  [Ke,fe] = myFunction(Ex(i),Ey(i));
  inds = data(i,2:end);
  nidx = numel(inds);
  outIdxvec = outIdx:outIdx+nidx-1;
  sparseIdxvec(outIdxvec) = inds;
  Kdata(outIdxvec) = Ke;
  fdata(outIdxvec) = fe;
  outIdx = outIdx + nidx;
end
K = sparse(sparseIdxvec,sparseIdxvec,Kdata,n,n);
f = sparse(sparseIdxvec,1,fdata,n,1);

document.getElementByID("screenPar").innerHTML = result;

,并在控制台中显示正确的值,但是在计算器的屏幕上显示为undefined。我的功能:

console.log(result);

calcString是输入表达式的字符串,例如“ 3 * 4 * 5”。 控制台输出正确的值,但是innerHTML在段落中未定义。 我将代码上传到免费的托管站点:brokenCalculator。 我想念什么?

2 个答案:

答案 0 :(得分:0)

您显示的功能很好。其他东西将screenPar的值替换为undefined

enter image description here

P.S。除非您希望将文本添加为​​HTML代码,否则请使用.textContent代替.innerHTML

答案 1 :(得分:0)

<button onclick="addToCalcString(calcSin())"...>

在onclick事件上方,您正在函数内部调用函数。单击时,第一次调用 calcSin(),并且下面一行执行得很好

document.getElementById("screenPar").innerHTML = result;

但是在执行完addToCalcString(char)之后,其中calcString未定义

document.getElementById("screenPar").innerHTML = calcString;

enter image description here