0
としてオブジェクトを渡すときにこんにちは、私はSkyrimの関数内で、次のJavaScriptコードJavaScript関数のスコープパラメータ
var skyrimCity = function(object) {
object = {
'world': 'whiterun'
};
},
skyrim = function(object) {
object.world = 'skyrim';
},
elderScrolls = {
'world': 'tamriel'
};
console.log(elderScrolls); // printed value ? -> {world: "tamriel"}
skyrimCity(elderScrolls);
console.log(elderScrolls); // printed value ? -> {world: "tamriel"}
skyrim(elderScrolls);
console.log(elderScrolls); // printed value ? -> {world: "skyrim"}
を持っている私は、世界の値を変更しますが、私は、同様の機能の外にそれを見ることができます。私はこの変更の範囲がなぜ機能の外側に広がったのか疑問に思っていますか? javascript関数の中のオブジェクトを渡すことは、常に元のオブジェクト自体への参照として渡されていますか?
配列、関数、オブジェクトは、すべてJSで参照渡しされます。 –
*「javascript関数内のオブジェクトを渡すのは、元のオブジェクト自体の参照として常に渡されていますか?」*はい、他の一般的な言語(Java、PHP、Python)でも同様です。 –
はペダンティクになるため、オブジェクトはJSの "byValue"に渡されます。値はオブジェクトに対する参照です... – dandavis