最近在看一些插件调用代码中经常出现这样的一段:
~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); } ( ) );