1.下面的程序经过运算之后,a为true,这个很好理解,但是函数怎么会运行呢? var a = !function(){ alert('message'); }(); console.log(a); 下面这个a为defined,但是可以也运行函数 var a = (function(){ alert('message'); })(); console.log(a); 其实上面两种方式在于把函数转化成为了表达式使用. 但是不同的符号所表达的意思是有所不同的,上面函数能够运行的原因是因为符号消除了函…