उत्थापन एक विशेषता का वर्णन करता है कि कैसे ब्राउज़र द्वारा जावास्क्रिप्ट की व्याख्या की जाती है, और इसका उपयोग करने के लिए इतनी सुविधा नहीं है।
जावास्क्रिप्ट की व्याख्या करते समय, ब्राउज़र फ़ंक्शन की शुरुआत में फ़ंक्शन-स्तरीय चर की गुंजाइश रखते हैं। उदाहरण:
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;
}
भ्रम से बचने के लिए, किसी फ़ंक्शन के शीर्ष पर अपने चर घोषित करें।