javascript - 我无法从其他函数调用值

标签 javascript

js代码有3个功能。我想从两个函数中调用值并在第三个函数中执行它们。

function first() {

  var x = 2
  var y = 3
  var z = x * y
}
first()

function second() {
  first();
  var z;
  var a = z - 1
}
second()

function third() {
  first();
  second();

  var a
  var z
  var ans = a * z

  console.log(ans);
  document.getElementById("ans_html").innerHTML = precision(ans);
}
third()
<div id="ans_html"></div>

预期结果是 30。

但输出是“NaN”。

最佳答案

在大多数语言中,包括 JS,变量都有“范围”( mdn )。如果您想在函数之间共享数据,您可以

1) 返回值 ( mdn ),

function first() {
  var x = 2
  var y = 3
  return x * y;
}

function second() {
  let z = first();
  return z - 1
}

function third() {
  let z = first();
  let a = second();

  var ans = a * z

  console.log(ans);
}
third();

2),不太常见的是,修改参数 obj,因为它们是通过 ref 传递的。

let func = param => {
  param.x = 3;
  param.y = 4;
};

let a = {};
func(a);
console.log(a);

关于javascript - 我无法从其他函数调用值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56977899/

相关文章:

javascript - 如何让 Magnific Popup 与 Browserify 一起工作

javascript - 无法在表中动态添加新行

javascript - java脚本中的非模态警报消息,由按钮激活

javascript - angularjs 扰乱了 json 结构

javascript - 如何用JavaScript获得翻书效果

javascript - 上传 Node FS 后文件损坏

javascript - 删除文件路径和文件名,使用 Node 将文件名保留在 AWS Lambda 中

javascript - Angular-UI 日历 : Not getting unique id when adding an event

Javascript倒计时在指定日期显示、提醒和隐藏消息

javascript - 无法访问 json 对象属性返回未定义