2015-11-18 45 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); 
} 

をそれを2回警告:

enter image description here

enter image description here

なぜ '未定義' 戻り値はありますか?それは1でなければなりません。どこに行方不明ですか?

+4

あなたの関数 'myid_templates_editor_image_id_generator'は何も返しません。その本体の1つの式の前に 'return'キーワードを追加してみてください。 Javascriptに暗黙のリターンはありません。 –

+1

あなたは 'myid_templates_editor_image_id_generator'の範囲で何も返さなかったので。 –

答えて

4

ファンクションmyid_templates_editor_image_id_generatorは何も返しません。唯一の返信ステートメント(return a;)はfunction($){...}を終了しますが、外部関数には伝播しません。

関連する問題