在 JavaScript 中,函数是“第一类”对象。这意味着您可以将它们分配给变量并将它们作为参数传递给其他函数。
当您可以传递函数名称本身时,无需从字符串创建函数,如下所示:
<div><a href="javascript:void(0)" onclick="close_div( alert_me );">Close Div then do something</a></div>
和脚本:
function close_div( next_function ) {
$('#wrap').animate({ 'height': '-=100px' }, 300, function() {
if ( next_function ) {
// do the following function
next_function();
}
});
}
--- jsFiddle 演示 ---
实际上,出于您的目的,您可以直接传递next_function
给animate
函数,如下所示:
function close_div( next_function ) {
$('#wrap').animate({ 'height': '-=100px' }, 300, next_function);
}
无需检查 if next_function
is undefined
,因为.animate
它会为您执行此操作。