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);