Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/442.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 访问父函数';子函数中具有同名变量的s变量_Javascript - Fatal编程技术网

Javascript 访问父函数';子函数中具有同名变量的s变量

Javascript 访问父函数';子函数中具有同名变量的s变量,javascript,Javascript,我有一个名为“parent”的函数,其中有一个嵌套函数“child”。两者都有名为“total”的变量。我想在孩子的总数中访问家长的“总数”。我该怎么做呢。我读过闭包,但它没有回答我的问题 function parent() { var total = 20; function child() { var total = 30; console.log(total); //output: 30 //I want to access parent's total

我有一个名为“parent”的函数,其中有一个嵌套函数“child”。两者都有名为“total”的变量。我想在孩子的总数中访问家长的“总数”。我该怎么做呢。我读过闭包,但它没有回答我的问题

function parent() {
  var total = 20; 

  function child() {
    var total = 30;
    console.log(total); //output: 30
    //I want to access parent's total variable here
    console.log(total); //expected output: 20
  }
}

你不能。正如其他人提到的,这被称为。它完全屏蔽了外部环境中的变量

解决这个问题最简单的方法就是简单地用不同的名字来命名它们。通常,为子级指定不同的变量名不会造成太大破坏:

函数父函数(){
常数总数=30;
函数子(){
const childTotal=20;
console.log(childTotal);
控制台日志(总计);
}
child();
}

父项()
这是调用的,无法从
子对象中访问父对象的
总计
,当阴影像这样时使用不同的名称这是我脑海中突然出现的一个随机想法。我找了很多,但找不到一个方法,所以最后在这里问它。谢谢大家。