Изменение значения переменной внутри вложенной функции

#javascript #function

#javascript #функция

Вопрос:

У меня есть переменная (csvContent), которую я создаю в функции StartALL(), внутри этой функции я вызываю другую функцию с именем XOR1() . Внутри функции XOR1() я изменяю переменную csvContent, но первая функция (StartALL()) не видит никаких изменений, как мне заставить функцию XOR1() изменить значение для csvContent ?

 function StartALL() {
    input_1 = parseInt(input_1.value);
    input_2 = parseInt(input_2.value);

    let csvContent = "data:text/csv;charset=utf-8,";

    csvContent  = "ASD"   "rn";
    console.log(csvContent)
    XOR1(input_1, input_2, csvContent);
    console.log(csvContent)

}

function XOR1(input_1, input_2, csvContent) {
    let MOVE1 =  (~input_1 amp; input_2) | (input_1 amp; ~input_2);
    csvContent  = MOVE1   "rn";
    return csvContent;
 }
  

Комментарии:

1. Вы должны присвоить возвращаемое значение переменной в контексте вызова. JavaScript — это язык передачи по значению.

Ответ №1:

 function StartALL() {
    input_1 = parseInt(input_1.value);
    input_2 = parseInt(input_2.value);
        
   let csvContent = "data:text/csv;charset=utf-8,";

    csvContent  = "ASD"   "rn";
    console.log(csvContent)
    csvContent = XOR1(input_1, input_2);
    
    console.log(csvContent);

}

function XOR1(input_1, input_2, csvContent) {
    let MOVE1 =  (~input_1 amp; input_2) | (input_1 amp; ~input_2);
    csvContent  = MOVE1   "rn";
    return csvContent;
 }
  

Ответ №2:

простой

вы не можете

вы не можете изменить переменную во вложенных функциях