हां, एक फ़ंक्शन कॉल (कोई फ़ंक्शन कॉल, न केवल पुनरावर्ती वाले) एक नया नामस्थान बनाता है। लेकिन, जब पैरामीटर के रूप में दिया जाता है, तो ऑब्जेक्ट संदर्भ द्वारा पारित किए जाते हैं।
इसलिए, नया नाम स्थान इस संदर्भ की अपनी प्रति प्राप्त करता है लेकिन यह अभी भी उसी ऑब्जेक्ट को संदर्भित करता है जैसे कॉलिंग फ़ंक्शन में, और यदि आप उस ऑब्जेक्ट की सामग्री को बदलते हैं, तो आप कॉलिंग फ़ंक्शन में परिवर्तन देखेंगे।
अधिक विशिष्ट होने के लिए, जब भी दुभाषिया किसी फ़ंक्शन के लिए कॉल का सामना करता है, तो यह एक फ़्रेम ऑब्जेक्ट बनाता है, जिसे फ़्रेम स्टैक पर धकेल दिया जाता है। हर बार एक फ्रेम बनाया जाता है, उस फ्रेम को अपना निजी नाम स्थान दिया जाता है, जहां फ्रेम में प्रत्येक चर को फिर से परिभाषित किया जाता है।