2016-07-22 13 views
0
var obj = { hi : 'hello' }; 

function myFunction(arg) { 
    console.log(arg.hi); 
} 

myFunction(obj); 

JavaScriptで機能するようにオブジェクトを渡すと、参照としてのJavaScriptエンジンのパスobjしていますか?またはコピー?
また、どのように見ることができますか?(複製?)私は<code>myFunction</code>を呼び出す場合

+0

obj2はobj1への参照になります –

+0

ありがとうございます!私はすぐに解決... –

答えて

1

オブジェクトを使用することができますコピーを作成するために

はない値で参照によって渡されます。 したがって、関数内のオブジェクトを変更する際には注意が必要です。

ここで私のスニペットで見ることができます。すべてのオブジェクトが..あなたが別のオブジェクトをクローニングしながらOBJ1 = OBJ2 OBJ2に変更がOBJ1に反映されるように単に割り当てることによって、それを理解することができ参照として考慮されるJavaScriptで

var o = { 
 
    'msg': 'Say Hi!' 
 
    }; 
 

 
function myFun(arg) { 
 
    console.log(arg.msg); 
 
    // This should not be accessible 
 
    // from global scope if is a copy 
 
    arg.msg = 'Bye'; 
 
} 
 

 
myFun(o); 
 

 
// Check what appened 
 
console.log(o.msg); 
 

 
// It is passed by reference.

0

オブジェクトの場合は、それを参照(特定のオブジェクトを指すアドレス)として渡します。それは同じ目的になるでしょう。関数内で適用された変更はすべてオブジェクトに影響します。あなたはObject.assign

関連する問題