函数返回了“undefined”值。

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

为什么返回值是“undefined”?它必须是1。我错在哪里了?

4
因为你的函数 myid_templates_editor_image_id_generator 没有返回任何值。尝试在其主体中的一个表达式前添加 return 关键字。JavaScript 不支持隐式返回。 - Chris Martin
1
因为您没有在 myid_templates_editor_image_id_generator 的范围内返回任何内容。 - Long Nguyen
1个回答

3

函数myid_templates_editor_image_id_generator没有返回任何值。你只有一个返回语句 (return a;) 退出了函数function($){...},但它没有传递到外部函数。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接