जेएस ट्यूटोरियल

जेएस होम जे एस परिचय जे एस कहाँ करने के लिए जेएस आउटपुट जेएस स्टेटमेंट्स जेएस सिंटेक्स जे एस टिप्पणियाँ जेएस चर जे एस लेट जेएस कॉन्स्ट जेएस ऑपरेटर्स जे एस अंकगणित जेएस असाइनमेंट जेएस डेटा प्रकार जे एस कार्य जेएस ऑब्जेक्ट्स जेएस इवेंट्स जे एस स्ट्रिंग्स जे एस स्ट्रिंग तरीके जे एस स्ट्रिंग खोज जे एस स्ट्रिंग टेम्पलेट्स जेएस नंबर जेएस संख्या के तरीके जे एस सरणी जेएस सरणी के तरीके जेएस ऐरे सॉर्ट जेएस सरणी पुनरावृत्ति जेएस ऐरे कॉन्स्ट जे एस तिथियाँ जेएस तिथि प्रारूप जेएस तिथि प्राप्त करने के तरीके जे एस दिनांक सेट तरीके जे एस मठ जे एस रैंडम जे एस बूलियन्स जेएस तुलना जे एस शर्तें जे एस स्विच जेएस लूप फॉर In . के लिए JS लूप ओएफ के लिए जेएस लूप जेएस लूप जबकि जेएस ब्रेक जेएस Iterables जेएस सेट जेएस मैप्स जेएस टाइपोफ जे एस प्रकार रूपांतरण जेएस बिटवाइज जेएस रेगएक्सपी जे एस त्रुटियाँ जेएस स्कोप जे एस उत्थापन जेएस सख्त मोड जेएस यह कीवर्ड जेएस एरो फंक्शन जेएस क्लासेस जेएस JSON जेएस डिबगिंग जेएस स्टाइल गाइड जेएस सर्वोत्तम अभ्यास जेएस गलतियाँ जेएस प्रदर्शन जेएस आरक्षित शब्द

जेएस संस्करण

जेएस संस्करण जेएस 2009 (ES5) जेएस 2015 (ईएस6) जेएस 2016 जेएस 2017 जेएस 2018 जेएस आईई / एज जेएस इतिहास

जेएस ऑब्जेक्ट्स

वस्तु परिभाषाएँ वस्तु गुण वस्तु के तरीके वस्तु प्रदर्शन ऑब्जेक्ट एक्सेसर्स वस्तु निर्माता वस्तु प्रोटोटाइप वस्तु पुनरावर्तनीय वस्तु समूह वस्तु मानचित्र वस्तु संदर्भ

जे एस कार्य

फ़ंक्शन परिभाषाएँ फंक्शन पैरामीटर्स समारोह आमंत्रण फंक्शन कॉल समारोह लागू करें फंक्शन क्लोजर

जेएस क्लासेस

कक्षा परिचय वर्ग वंशानुक्रम क्लास स्टेटिक

जे एस एसिंक

जेएस कॉलबैक जे एस अतुल्यकालिक जे एस वादा जे एस एसिंक/प्रतीक्षा

जेएस एचटीएमएल डोम

डोम परिचय डोम तरीके डोम दस्तावेज़ डोम तत्व डोम एचटीएमएल डोम फॉर्म डोम सीएसएस डोम एनिमेशन डोम घटनाक्रम डोम इवेंट श्रोता डोम नेविगेशन डोम नोड्स डोम संग्रह डोम नोड सूचियाँ

जेएस ब्राउज़र बीओएम

जेएस विंडो जेएस स्क्रीन जेएस स्थान जेएस इतिहास जेएस नेविगेटर जेएस पॉपअप अलर्ट जेएस टाइमिंग जे एस कुकीज़

जेएस वेब एपीआई

वेब एपीआई परिचय वेब फॉर्म एपीआई वेब इतिहास एपीआई वेब संग्रहण API वेब वर्कर एपीआई वेब फ़ेच एपीआई वेब जियोलोकेशन एपीआई

जे एस अजाक्स

AJAX परिचय अजाक्स एक्सएमएलएचटीपी अजाक्स अनुरोध अजाक्स प्रतिक्रिया अजाक्स एक्सएमएल फ़ाइल अजाक्स पीएचपी अजाक्स एएसपी AJAX डेटाबेस अजाक्स अनुप्रयोग अजाक्स उदाहरण

जेएस JSON

JSON परिचय JSON सिंटैक्स जेएसओएन बनाम एक्सएमएल JSON डेटा प्रकार JSON पार्स JSON स्ट्रिंगिफ़ाई JSON ऑब्जेक्ट्स JSON सरणियाँ JSON सर्वर जेएसओएन पीएचपी जेएसओएन एचटीएमएल जेएसओएन जेएसओएनपी

जेएस बनाम jQuery

jQuery चयनकर्ता jQuery एचटीएमएल jQuery सीएसएस jQuery डोम

जेएस ग्राफिक्स

जेएस ग्राफिक्स जेएस कैनवास जे एस प्लॉटली जेएस चार्ट.जेएस जेएस गूगल चार्ट जेएस डी3.जेएस

जेएस उदाहरण

जेएस उदाहरण जेएस एचटीएमएल डोम जेएस एचटीएमएल इनपुट जेएस एचटीएमएल ऑब्जेक्ट्स जेएस एचटीएमएल इवेंट्स जेएस ब्राउज़र जे एस संपादक जे एस व्यायाम जे एस प्रश्नोत्तरी जेएस प्रमाणपत्र

जे एस संदर्भ

जावास्क्रिप्ट ऑब्जेक्ट्स एचटीएमएल डोम ऑब्जेक्ट्स


जावास्क्रिप्ट होस्टिंग


होस्टिंग घोषणाओं को शीर्ष पर ले जाने का जावास्क्रिप्ट का डिफ़ॉल्ट व्यवहार है।


जावास्क्रिप्ट घोषणाएं फहराई जाती हैं

जावास्क्रिप्ट में, एक चर का उपयोग करने के बाद घोषित किया जा सकता है।

दूसरे शब्दों में; घोषित होने से पहले एक चर का उपयोग किया जा सकता है।

उदाहरण 1 वही परिणाम देता है जो उदाहरण 2 :

उदाहरण 1

x = 5; // Assign 5 to x

elem = document.getElementById("demo"); // Find an element
elem.innerHTML = x;                     // Display x in the element

var x; // Declare x

उदाहरण 2

var x; // Declare x
x = 5; // Assign 5 to x

elem = document.getElementById("demo"); // Find an element
elem.innerHTML = x;                     // Display x in the element

इसे समझने के लिए आपको "उत्थापन" शब्द को समझना होगा।

होस्टिंग सभी घोषणाओं को वर्तमान दायरे के शीर्ष पर ले जाने का जावास्क्रिप्ट का डिफ़ॉल्ट व्यवहार है (वर्तमान स्क्रिप्ट या वर्तमान फ़ंक्शन के शीर्ष पर)।


लेट और कॉन्स्ट कीवर्ड्स

चर के साथ परिभाषित letऔर constब्लॉक के शीर्ष पर फहराया जाता है, लेकिन प्रारंभ नहीं किया जाता है ।

अर्थ: कोड का ब्लॉक चर के बारे में जानता है, लेकिन इसका उपयोग तब तक नहीं किया जा सकता जब तक इसे घोषित नहीं किया जाता है।

घोषित होने से पहले एक letचर का उपयोग करने के परिणामस्वरूप एक ReferenceError.

चर घोषित होने तक ब्लॉक की शुरुआत से "अस्थायी मृत क्षेत्र" में है:

उदाहरण

इसका परिणाम होगा ReferenceError:
carName = "Volvo";
let carName;

घोषित होने से पहले एक constचर का उपयोग करना, एक वाक्यविन्यास त्रुटि है, इसलिए कोड बस नहीं चलेगा।

उदाहरण

यह कोड नहीं चलेगा।

carName = "Volvo";
const carName;

JS Let / Const में let और const के बारे में और पढ़ें



जावास्क्रिप्ट इनिशियलाइज़ेशन को होस्ट नहीं किया गया है

जावास्क्रिप्ट केवल घोषणाओं को फहराता है, आरंभीकरण नहीं।

उदाहरण 1 उदाहरण 2 के समान परिणाम नहीं देता है :

उदाहरण 1

var x = 5; // Initialize x
var y = 7; // Initialize y

elem = document.getElementById("demo"); // Find an element
elem.innerHTML = x + " " + y;           // Display x and y

उदाहरण 2

var x = 5; // Initialize x

elem = document.getElementById("demo"); // Find an element
elem.innerHTML = x + " " + y;           // Display x and y

var y = 7; // Initialize y

क्या यह समझ में आता है कि y अंतिम उदाहरण में अपरिभाषित है?

ऐसा इसलिए है क्योंकि केवल घोषणा (var y), आरंभीकरण नहीं (= 7) शीर्ष पर फहराया जाता है।

उत्थापन के कारण, y को उपयोग करने से पहले घोषित कर दिया गया है, लेकिन क्योंकि इनिशियलाइज़ेशन को फहराया नहीं गया है, y का मान अपरिभाषित है।

उदाहरण 2 लेखन के समान है:

उदाहरण

var x = 5; // Initialize x
var y;     // Declare y

elem = document.getElementById("demo"); // Find an element
elem.innerHTML = x + " " + y;           // Display x and y

y = 7;    // Assign 7 to y

शीर्ष पर अपने चर घोषित करें!

होस्टिंग (कई डेवलपर्स के लिए) जावास्क्रिप्ट का एक अज्ञात या अनदेखा व्यवहार है।

यदि कोई डेवलपर उत्थापन को नहीं समझता है, तो प्रोग्राम में बग (त्रुटियां) हो सकते हैं।

बग से बचने के लिए, हमेशा हर दायरे की शुरुआत में सभी चर घोषित करें।

चूंकि जावास्क्रिप्ट इस तरह से कोड की व्याख्या करता है, यह हमेशा एक अच्छा नियम है।

सख्त मोड में जावास्क्रिप्ट वेरिएबल को उपयोग करने की अनुमति नहीं देता है यदि वे घोषित नहीं हैं। अगले अध्याय में "सख्त प्रयोग करें" का
अध्ययन करें।