2015-11-18 238 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'不返回任何东西。尝试在其正文中的一个表达式前添加'return'关键字。 Javascript没有隐式返回。 –

+1

因为你没有在'myid_templates_editor_image_id_generator'范围内返回任何东西。 –

回答

4

功能myid_templates_editor_image_id_generator没有返回。您拥有的唯一返回语句(return a;)退出function($){...},但它不会传播到外部函数。