আপনি কিছু নাম রাখতে পারেন কিনা তা ডেটা টাইপের উপর নির্ভর করে। অবজেক্টস, অ্যারে এবং ফাংশনগুলি রেফারেন্স দ্বারা পরিচালিত হবে এবং এলিয়াসিং সম্ভব। অন্যান্য প্রকারগুলি মূলত পারমাণবিক এবং ভেরিয়েবল কোনও মানের উল্লেখের পরিবর্তে মানটিকে সঞ্চয় করে।
arguments.callee একটি ফাংশন, এবং সেইজন্য আপনার এটির একটি উল্লেখ থাকতে পারে এবং সেই ভাগ করা অবজেক্টটি সংশোধন করতে পারেন।
function foo() {
var self = arguments.callee;
self.myStaticVar = self.myStaticVar || 0;
self.myStaticVar++;
return self.myStaticVar;
}
মনে রাখবেন যদি উপরে কোডে আপনি বলতে ছিল self = function() {return 42;};তারপর selfতারপর একটি পড়ুন হবে বিভিন্ন বস্তু চেয়ে arguments.calleeযা একটি রেফারেন্স থাকে, foo। আপনার যখন কোনও যৌগিক অবজেক্ট থাকে, অ্যাসাইনমেন্ট অপারেটরটি রেফারেন্সটি প্রতিস্থাপন করে, এটি রেফার করা অবজেক্টটি পরিবর্তন করে না। পারমাণবিক মান সহ, একটি কেস y++সমতুল্য y = y + 1, যা ভেরিয়েবলের জন্য একটি 'নতুন' পূর্ণসংখ্যা বরাদ্দ করে।