2015-11-18 157 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($){...},但它不會傳播到外部函數。