解决方案 »

  1.   

    function与感叹号
      

  2.   

    函数后的();表示要执行这个函数,而(); 要求前面必须是一个表达式。(最后有js表达式的定义)。所以!的作用是将function(){...}函数体转为一个函数表达式。
    同样道理:
    ~function() {
      ...
    }();
    一样可行。但是我们常用的方式是:
    (function() {
      ...
    })();
    我更倾向这种方式,因为简单易读。
      

  3.   


    也就是这3种等价? 没有区别吗?都是一个效果? !function(){
    alert(1); 
    }();  
    ~function() {
     alert(1);
    }();(function() {
     alert(1);
    })();
      

  4.   

    function(){}是一个匿名函数,后面的()表示执行这个函数,!表示反转结果
      

  5.   

    如果说没有确切返回值的话,你就当转为为表达式理解也许真的要说效果,你可以通过一下的 alert(!function(){return true;}()); 返回false,也就是说不仅仅起到了转换表达式的作用,而且还吧返回结果取反但是如果说你想自执行一段代码,无需返回值来处理,那么其实都是一样的