JavaScriptでの奇妙な関数の動作

GDP2

私は自分のプロジェクトで次のようなコードを実行していますが、その結果が混乱を招きます。

function changeSomethingsValue (thingToChange) {
    thingToChange = "something else";
}

var something = "something";

changeSomethingsValue(something);

console.log(something); // prints out "something"

something変数の値がchangeSomethingsValue関数を通過した後も文字列「something」である理由について、私は混乱しています。なぜこれが発生するのですか?また、渡される変数に新しい値を割り当てる関数を取得するにはどうすればよいですか?

トム

文字列や数値などのプリミティブを渡す場合、値で渡されます。あなたが期待しているのは、それが参照によって渡されることです。

修正はsomething、の戻り値に設定することです。changeSomethingsValue

function changeSomethingsValue (thingToChange) {
    thingToChange = "something else";

    return thingToChange;
}

var something = "something";

something = changeSomethingsValue(something);

console.log(something); // prints out "something"

この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。

侵害の場合は、連絡してください[email protected]

編集
0

コメントを追加

0

関連記事

分類Dev

dplyrのdo()関数の奇妙な動作

分類Dev

Golang:関数型の奇妙な動作

分類Dev

fscanf関数の奇妙な動作

分類Dev

'malloc_stats'関数の奇妙な動作

分類Dev

.capitalize関数の奇妙な動作

分類Dev

Jquery関数の奇妙な動作

分類Dev

'constexpr'関数の奇妙な動作?

分類Dev

'constexpr'関数の奇妙な動作?

分類Dev

Python再帰関数の奇妙な動作

分類Dev

array.pop()関数の奇妙な動作

分類Dev

C ++でのm.erase()関数の奇妙な動作?

分類Dev

仮想関数でのfinalの奇妙な動作

分類Dev

Rでの並べ替え関数の奇妙な動作

分類Dev

abs関数でのgccの奇妙な動作

分類Dev

Pythonでのprint関数の奇妙な動作

分類Dev

kotlinのreadLine関数での奇妙な動作

分類Dev

windowProc関数での奇妙な条件文の動作

分類Dev

Rでの一致関数の奇妙な動作

分類Dev

__del__関数でのPyOpenGL.glDeleteBuffersの奇妙な動作?

分類Dev

PhantomJS / WebKitでの奇妙なJavaScriptの動作

分類Dev

Json ObjectManipulationでのJavascriptの奇妙な動作

分類Dev

AJAXPostでの奇妙なJavascript / PHPの動作

分類Dev

Firefox での javascript RegExp の奇妙な動作

分類Dev

javascriptでの奇妙なループ動作

分類Dev

GregorianCalendarでの奇妙な動作

分類Dev

ArrayListでの奇妙な動作

分類Dev

MultivaluedSectionでの奇妙な動作?

分類Dev

useEffectでの奇妙な動作

分類Dev

HMACopensslでの奇妙な動作