自我调用函数差异

时间:2015-05-15 10:07:53

标签: javascript jquery

这两个自调用函数有什么区别?如果添加了!(非)符号,则该功能不起作用。

请澄清是否有人清楚了解。

// first
(function( $ ) {
   // ...
})( jQuery );


// second
!function($){
    alert("test1");
}(jQuery), function(){
   alert("test2");
}(jQuery);

1 个答案:

答案 0 :(得分:-3)

  1. $("button").on("click", function (e) { console.log("dg"); if ($("button").hasClass('cl')) { $("button").removeClass("cl"); $('#sous-menu')..fadeIn(); } else { $("button").addClass("cl"); $('#sous-menu').fadeOut(); } }); $('.dropdown-toggle').dropdown(); 表示!function () {}(类似于negative function),为了确保在结果为负之前结果是什么,必须执行函数。因此if (!someVar) {}可以替换为!

  2. // second 出了问题,因为您创建了两个匿名函数,并且存在+。我认为你在这个地方遇到语法错误,所以下一个函数不起作用(并且没有执行,因为没有人调用这个函数)