হোঁচিং ব্রাউজার দ্বারা জাভাস্ক্রিপ্টকে কীভাবে ব্যাখ্যা করা যায় তার একটি বৈশিষ্ট্য বর্ণনা করে এবং ব্যবহার করার মতো বৈশিষ্ট্যটি এতটা না।
জাভাস্ক্রিপ্টের ব্যাখ্যার সময়, ফাংশনের শুরুতে ব্রাউজারগুলি স্কোপ-ফাংশন-স্তরের ভেরিয়েবলগুলি। উদাহরণ:
function AddTwoAndTwo() {
var two = 2;
var result = two + two;
return result;
}
পোস্ট করা কোডে, "দুটি" এবং "ফলাফল" উভয় ভেরিয়েবলগুলি ফাংশন স্কোপের শুরুতে উপস্থিত রয়েছে (স্পষ্টতই, তারা সেখানে ঘোষণা করা হয়েছে।) তবে, ব্রাউজারগুলি ভেরিয়েবলগুলি "উত্তোলন" করছে, ফলে নিম্নলিখিতটি জাভাস্ক্রিপ্ট কোড হয়ে যায় ।
function AddTwoAndTwo() {
result = 5;
alert(result);
var two = 2;
var result = two + two;
return result;
}
এখানে নেট এফেক্টটি হ'ল আপনার ঘোষিত হওয়ার আগে আপনার ব্যবহারের পরিবর্তনশীল রয়েছে এবং এটি বিভ্রান্তি সৃষ্টি করতে পারে, বিশেষত গ্লোবাল-স্কোপ ভেরিয়েবলগুলির সাথে। উদাহরণ:
var result = 6;
function AddTwoAndTwo() {
alert(result); // should this be 6 or undefined?
var two = 2;
var result = two + two;
return result;
}
বিভ্রান্তি এড়াতে, কোনও ফাংশনের শীর্ষে আপনার ভেরিয়েবলগুলি ঘোষণা করুন।