Я пытался понять функции Scope против Gobal Scope с примером ниже:Access Global области видимости внутри вложенной функции Javascript
<script>
// The following variables are defined in the global scope
var num1 = 2,
num2 = 3,
name = "Chamahk";
// This function is defined in the global scope
function multiply() {
return num1 * num2;
}
console.log(multiply()); // Returns 60
// A nested function example
function getScore() {
var num1 = 20,
num2 = 30;
function add() {
var num1 = 200,
num2 = 300;
return name + " scored " + (num1 * num2);
}
return add();
}
console.log(getScore()); // Returns "Chamahk scored 60000"
</script>
Я гуглом и нашел, что переменный Global Scoped можно получить с помощью этого. изменяя код возврата
return name + " scored " + (this.num1 * this.num2);
дал выход, как «Chamahk набрал 6», значит, это доступ к глобальной переменной num1 и num2.
Это понятно, но что я хотел знать, как получить доступ к num1 и num2, объявленным в функции getScore() .i.e. чтобы получить выход как 600.
Правда, я бы сделал то же самое в сценарии проекта, вот что я хочу понять, как работает функция/глобальная область в случае вложенных функций. –
для случая параметров я думаю, что цепочка сама позаботится о ней, не нужно передавать параметры function getScore() { var num1 = 20, num2 = 30; функция добавить() { имя возврата + "забил" + (num1 * num2); } return add(); } –