2015-11-18 15 views
5

मैं नीचे इस कोड है:समारोह रिटर्न 'अपरिभाषित' मूल्य

alert('Returned value : ' + myid_templates_editor_image_id_generator()); 


//Generates unique id for every image created 
function myid_templates_editor_image_id_generator(){  
    (function($){ 
     var a = 1; 
     while(true){      
      if($('#myid_templates_editor_image_' + a).length == 0) {     
       alert('Inside value : ' a); 
       return a;    
      } 
      a++;        
     } 
    })(jQuery); 
} 

यह दो बार अलर्ट:

enter image description here

enter image description here

क्यों वापसी मान 'अनिर्धारित' है? यह 1 होना चाहिए। मुझे कहाँ याद आ रही है?

+4

क्योंकि आपका फ़ंक्शन 'myid_templates_editor_image_id_generator' कुछ भी वापस नहीं करता है। अपने शरीर में एक अभिव्यक्ति के सामने 'वापसी' कीवर्ड जोड़ने का प्रयास करें। जावास्क्रिप्ट में निहित रिटर्न नहीं है। –

+1

क्योंकि आपने 'myid_templates_editor_image_id_generator' के दायरे में कुछ भी वापस नहीं किया है। –

उत्तर

4

फ़ंक्शन myid_templates_editor_image_id_generator कुछ भी वापस नहीं कर रहा है। आपके पास एकमात्र रिटर्न स्टेटमेंट है (return a;) function($){...} से बाहर निकलता है लेकिन यह बाहरी फ़ंक्शन के लिए प्रचारित नहीं है।

संबंधित मुद्दे