~function,函数前面的波浪号是什么意思?
看到别人写的代码 形如:~function($){},不是很明白

解决方案 »

  1.   

    按位“非”运算符 (~)
    对一个表达式执行按位“非”(取反)。result = ~ expression参数
    result任何变量。expression任何表达式。说明
    所有一元运算符,如 ~ 运算符,以如下规则来求表达式的值: 如果将它用于 undefined 或 null 表达式,则产生一个运行时错误。 
    对象被转换成字符串。 
    如果可能,字符串被转换为数字。如果不能,则产生一个运行时错误。 
    Boolean 值被当作数字(如果是 false 则为 0,如果是 true 则为 1)。 
    用该运算符来生成数字。 ~ 运算符查看表达式的二进制表示法的值,并执行按位非操作。该操作的结果如下所示: 0101   (expression)
    ----
    1010   (result)
    表达式中的任何一位为 1,则在结果中相应位变为 0。表达式中的任何一位为 0,则在结果中相应位变为 1。 
      

  2.   

    是不是这样?
    那就是求1的位非<script>
    function aa(){
    aa=~function(){return 1;};
    alert(aa);
    }
    aa();
    </script>