javascript डाउनलोड - जावास्क्रिप्ट उत्थापन स्पष्टीकरण




programs pdf (4)

अर्धविराम के बजाय लाइन-ब्रेक का उपयोग किया जा सकता है।

यह :

var a = 0;
function b(){
    a = 10;
    return // line-break
    function a(){};
}
b();
console.log(a);  // => 0

इसका मतलब है :

var a = 0;
function b(){
    a = 10;
    return; // <-- 'adds this semicolon'
    function a(){};
}
b();
console.log(a);  // => 0

यदि आपको इस लाइन-ब्रेक की आवश्यकता है , तो आप इस तरह कर सकते हैं :

var a = 0;
function b(){
    a = 10;
    return (
        function a(){}
    )
}
b();
console.log(a);

नीचे के स्निपेट्स के बीच अंतर क्या है?

var a = 0;
function b(){
    a = 10;
    return function a(){};
}
b();
console.log(a);  // => 10

तथा

var a = 0;
function b(){
    a = 10;
    return
    function a(){};
}
b();
console.log(a);  // => 0

यह जावास्क्रिप्ट उत्थापन के साथ कुछ करना है, लेकिन अवधारणा के बारे में मेरी समझ बिल्कुल विपरीत आउटपुट देती है।


return function a(){};

यहाँ function ... एक अभिव्यक्ति है। सटीक होने के लिए एक नामित फ़ंक्शन अभिव्यक्ति । यहाँ a बहुत ज्यादा मायने नहीं रखता है, यह सिर्फ अनाम फ़ंक्शन को एक .name , लेकिन यह अभी भी एक फ़ंक्शन अभिव्यक्ति है जो आप वापस आ रहे हैं।

return 
function a(){};

यह यहाँ के बराबर है:

return;
function a(){};

यहाँ function a घोषणा है, एक अभिव्यक्ति नहीं है। यह फहराया गया है, एक स्थानीय नाम को दायरे में बनाकर, बाहरी रूप से छायांकन किया गया a । यानी यह बराबर है:

function b(){
    var a = function () {};
    a = 10;
    return;
}

return
function a() {}

वैसा ही है

return;
function a() {}

स्वचालित अर्धविराम सम्मिलन के बाद। दूसरे मामले में, फ़ंक्शन को इसके दायरे के शीर्ष पर ले जाया जाता है। कोड समान है

var a = 0;

function b() {
  function a() {};
  a = 10;
  return;
}
b();
console.log(a);

जैसा कि अंदर b() आंतरिक फ़ंक्शन है और फिर ओवरराइड किया जाता है, यह b() बाहर से पहुंच योग्य नहीं है b()

यहाँ यह समझने के लिए डेमो है कि उत्थापन कैसे कार्य करता है।

var a = 0;

function b() {
  console.log(a); // function
  a = 10;
  console.log(a); // 10
  return

  function a() {};
}
console.log(b()); // undefined
console.log(a);


स्ट्रिंग पर अंतर्निर्मित और सरलतम यानी match() उपयोग करें। जो आप आगे देख रहे हैं उसे प्राप्त करने के लिए यह करें:

var stringData ="anyString Data";

var subStringToSearch = "any";

// This will give back the substring if matches and if not returns null
var doesContains = stringData.match(subStringToSearch);

if(doesContains !=null) {
    alert("Contains Substring");
}




javascript