叹号后面跟函数!function
和加号后面跟函数+function
都是跟(function(){})();这个函数是一个意思,都是告诉浏览器自动运行这个匿名函数的,因为!+()这些符号的运算符是最高的,所以会先运行它们后面的函数
函数后的();表示要执行这个函数,而(); 要求前面必须是一个表达式。(最后有js表达式的定义)。 所以!的作用是将function(){...}函数体转为一个函数表达式。 同样道理: ~function() { ... }(); 一样可行。 但是我们常用的方式是: (function() { ... })(); 我更倾向这种方式,因为简单易读