何时使用匿名函数

1 javascript

我有一个对象ajax_tryit调用ajax_generic ans发送它3个函数.他们都被命名了.

使用匿名函数会更好(更高效,更快一点).

应用程序...这是ajax回调函数,可以做3件事,传递,失败或未定义(通常是php错误).

function ajax_generic( server_response_text, pass_func, fail_func, undefined_func )
{
    var aml_status = check_aml( server_response_text.slice( 0, 6 ) );
    if( aml_status === Constant.AML.PASS )
    {
        pass_func();
    }
    else if( aml_status === Constant.AML.FAIL )
    {
        fail_func();
    }
    else
    {
        undefined_func();
    }
}
function ajax_tryit( server_response_text, html_div )
{
    var pass_func = function {window.location.reload()};
    var fail_func = function(server_response_text) { alert( 'ajax_tryit(): ' + server_response_text ) } ;
    var undefined_func = function(server_response_text) { alert( 'php error: ' + server_response_text ) };
    ajax_generic( pass_func, fail_func, undefined_func );
}
Run Code Online (Sandbox Code Playgroud)

Poi*_*nty 6

命名函数(即使用函数声明语句创建的函数)实际上非常好,因为您可以在堆栈跟踪中看到它们的名称.除此之外,只要函数在适当的范围内声明(或者范围无关紧要),它就没那么重要了.

在函数定义表达式中为函数命名在技术上是合法的,但这不是一个好主意,因为各种JavaScript引擎不能被信任不做一些奇怪的事情.