匿名函数的几种写法

  最近在看一些插件调用代码中经常出现这样的一段:

~function(){ 
var tabins = $('#JS_slider_ul').tabwipe({
done_process : 0.4, //移动超过40%则跳转
ani_time : 300, //动画切换时间
max_speed:800, //滑屏速度超过800dip跳转
is_circle : true, //循环滚动
callback : function(index){ //切换回调
$('.gcdt-list-curo div').removeClass('cur').eq(index).addClass('cur');
}
}).interval(3000);
}();

请自动忽略主体内容。

~function(){}();这种写法是什么鬼,以前好像并没有见过,也许见过却没注意。

尝试了下这样写的代码效果,发现就是一个自执行函数。

网上搜索了下:

发现以下这些的写法都是可以的:

+function(){alert(1)}()
-function(){alert(1)}()
~function(){alert(1)}()
^function(){alert(1)}()
%function(){alert(1)}()

这让我这种只会(function(){})();的学习了。匿名函数的优点:不使用全局变量,防止变量冲突。好像这样写也是可以的:( function(){ alert(2); } ( ) );

原文地址:https://www.cnblogs.com/patrickxy/p/4958495.html