あなたはそれらを使うだけです。あなたの問題はシャドウイングです。内側の関数の引数は、同じ名前であるため、外側の関数の引数を上書きしています。
通常、ローカル変数は、同じスコープで宣言された関数に注意を払うことなく使用できます。同じ名前の新しいローカル変数でシャドウイングしない限り、それらを使用することを意味します。
function blabla(a, b) {
// Something
httpReq.onreadystatechange = function(c, d) {
// logs undefined, because no arguments are actually passed in
// so the variables are undefined.
console.log(c, d);
// log arguments passed to blabla() because it picks up the reference
// the parent scope.
console.log(a, b);
}
}
blabla('Hi', 'There'); // should log "Hi", "There"
これは、各関数の引数に一意の変数名を使用する限り、機能します。