ECMA- / জাভাস্ক্রিপ্ট যেহেতু সব কিছু Objectsএবং Contexts(যা কিছুটা অবজেক্টেরও), তাই প্রতিটি ভেরিয়েবল যেমন ভেরিয়েবল- (বা কোনও ফাংশন, অ্যাক্টিভেশন অবজেক্টের ক্ষেত্রে সংরক্ষণ করা হয়) ) সংরক্ষণ করা হয়।
সুতরাং আপনি যদি এর মতো ভেরিয়েবল তৈরি করেন:
var a = 1,
b = 2,
c = 3;
ইন গ্লোবাল স্কোপ (= কোন ফাংশন প্রসঙ্গ), আপনি পরোক্ষভাবে মধ্যে যারা ভেরিয়েবল লিখতে গ্লোবাল অবজেক্ট (= windowএকটি ব্রাউজারে)।
এগুলি "ডট" বা "বন্ধনী" স্বরলিপি ব্যবহার করে অ্যাক্সেস পেতে পারে:
var name = window.a;
অথবা
var name = window['a'];
এটি কেবলমাত্র, এই বিশেষ উদাহরণস্বরূপ বৈশ্বিক বস্তুর জন্য কাজ করে কারণ চলক অবজেক্ট এর গ্লোবাল অবজেক্ট হয় windowবস্তুর নিজেই। কোনও ফাংশনের প্রসঙ্গে, আপনার কাছে সরাসরি প্রবেশাধিকার নেই অ্যাক্টিভেশন অবজেক্টটিতে । এই ক্ষেত্রে:
function foobar() {
this.a = 1;
this.b = 2;
var name = window['a']; // === undefined
alert(name);
name = this['a']; // === 1
alert(name);
}
new foobar();
newএকটি স্ব-সংজ্ঞায়িত বস্তুর (প্রসঙ্গ) নতুন ইভেন্ট তৈরি করে context newফাংশন সুযোগ ছাড়াই এছাড়াও হবে global(= উইন্ডো)। এই উদাহরণ সতর্কতা undefinedএবং 1যথাক্রমে হবে। যদি আমরা এর সাথে প্রতিস্থাপন করতাম this.a = 1; this.b = 2:
var a = 1,
b = 2;
উভয় সতর্কতা আউটপুট অপরিজ্ঞাত করা হবে। সেই দৃশ্যে, ভেরিয়েবলগুলি aএবং bঅ্যাক্টিভেশন অবজেক্ট থেকে সংরক্ষণ করা হবে foobar, যা আমরা অ্যাক্সেস করতে পারি না (অবশ্যই আমরা সরাসরি কল করে aএবং সেগুলি অ্যাক্সেস করতে পারি b)।