0

我有以下代码,我在 safari 中获得了一个“匿名函数”功能......有人能解释一下吗?

$(document).ready(function(){
    $('ul.nav').toggleClass('dropmenu');
    $('.nav_menu > ul').dropmenu({
        effect : 'slide',
        speed : 250,
        timeout : 0,
     });
 });

它似乎指向timeout :0,

4

1 回答 1

0

您的代码中有错误。后面的尾随,(逗号)timeout : 0

匿名函数在您的示例的第一行代码中启动

$(document).ready(function() { //<-- anonymous function
    $('ul.nav').toggleClass('dropmenu');

    $('.nav_menu > ul').dropmenu({
        effect: 'slide',
        speed: 250,
        timeout: 0
    });
});​

具有大量匿名函数的堆栈跟踪可能难以跟踪,可能值得多敲几下键来命名您的函数

$(document).ready(function showDropMenu() {
    $('ul.nav').toggleClass('dropmenu');

    $('.nav_menu > ul').dropmenu({
        effect: 'slide',
        speed: 250,
        timeout: 0
    });
});​

这样调试器将能够使用函数的名称,而不是简单的“匿名函数”

在最外层的函数中写"use strict";为第一行可能也是一个好主意。这将告诉解释器在某些常见错误上失败,使您更容易调试

于 2012-09-06T08:50:54.193 回答