Je možné změnit hodnotu parametru funkce?

Mám jednu funkci se dvěma parametry, například function (a,b) . Chci do funkce, vzít hodnotu b a nahradit ji c. Myslel jsem něco jako $(b).replaceWith(c) , ale nevyšlo to. Vím, že mohu vytvořit novou proměnnou ve funkci s novou hodnotou, ale je možné změnit hodnotu samotného b? Je něco takového možné. Nebo jsou parametry pevně dané?

Pokusím se vysvětlit, o co se snažím. Existují tři funkce, jedna zastřešující funkce a pak dvě funkce v ní, které jsou spouštěny událostí přepínání. A chci, aby druhá funkce udělala něco, aby získala hodnotu a předala ji třetí funkci. Takže tady by byl kód

function(a,b){

    $('selector').toggle(

        //I want this to gather a value and store it in a variable
        function(){},

        //and I want this to accept the variable and value from the previous function
        function(){}
    )}

Jediný způsob, jak to udělat, je přidat parametr c pro překlenovací funkci a poté jej upravit pomocí první funkce a nechat novou hodnotu předat druhé funkci.

Odpověď

Nemůžete předat explicitně odkazem v JavaScriptu; pokud však b byl objekt a ve své funkci jste upravili b ', změna se projeví v rozsahu volání.

Pokud to potřebujete udělat s primitivy, musíte vrátit novou hodnotu:

function increaseB(b) {
  // Or in one line, return b + 1;
  var c = b + 1;
  return c;
}

var b = 3;
console.log('Original:', b);
b = increaseB(b); // 4
console.log('Modified:', b);