コードをコピー コードは次のとおりです。 <br> var str = 'abced'; <br>var obj = new String(str); <br>function newToString() { <br>return 'hello,world'; <br>function( val) { <br>val.toString = newToString; <br>} <br>func(str); //ps: str の値のみが実際に渡されるため、渡された str を変更しても意味がありません。自分のコピーの 1 つによってコピーを変更する方法は、元の操作の結果には影響しません。 <br>alert(str.toString()) //結果は abced <br><br>func(obj); ps: オブジェクトの参照 (つまり、str 自体、またはメモリ アドレス) で渡されるため、その toString の変更は後続のalert(obj.toString()) に影響します。<br>alert(obj.toString()) ); / /結果は hello,world <br> 添付ファイル: JavaScript の値の型と参照型 データ型 値/参照型 備考 未定義の値 値なし 番号 ブール値 文字列値 文字列は代入操作中に参照型として扱われます 関数 オブジェクト参照js 値の型と参照型 基本型/参照型 - 値型 [Ctrl A