জাভাস্ক্রিপ্টে ফাংশনের বাহ্যিক ভেরিয়েবলে অ্যাক্সেস
নিম্নলিখিত কোডটি বিবেচনা করা যাক:
let num = 1; // ভেরিয়েবলের মান সেট করুন
function func() {
console.log(num); // এটি কনসোলে প্রদর্শন করুন
}
func(); // ফাংশন কল করুন
যেমনটি আমি আগেই উল্লেখ করেছি, ভেরিয়েবলের মান অগত্যা ফাংশন সংজ্ঞার আগে থাকতে হবে না, প্রধান জিনিস হল এটি যেন ফাংশন কলের আগে থাকে:
function func() {
console.log(num);
}
let num = 1;
func();
আসলে এটি পুরোপুরি সত্য নয়। আমাদের ফাংশন
এমনকি তার কলের আগেই ভেরিয়েবলের মান জানে
num:
let num = 1;
function func() {
console.log(num); // ফাংশন ইতিমধ্যেই জানে যে num = 1
}
এখানে একটি আরও জটিল উদাহরণ:
let num = 1; // এই মুহুর্তে ফাংশনটি জানতে পারে যে num = 1
function func() {
console.log(num);
}
num = 2; // এই মুহুর্তে ফাংশনটি জানতে পারে যে num = 2
ফাংশন কল যোগ করা যাক:
let num = 1; // এই মুহুর্তে ফাংশনটি জানতে পারে যে num = 1
func(); // 1 প্রদর্শন করবে
function func() {
console.log(num);
}
func(); // 1 প্রদর্শন করবে
num = 2; // এই মুহুর্তে ফাংশনটি জানতে পারে যে num = 2
func(); // 2 প্রদর্শন করবে
আবার বলছি: আসলে ফাংশনটি বাহ্যিক ভেরিয়েবলের মান জানে, এমনকি সেগুলি কল না করেও।