感谢原创作者和转载者感谢提問人和解答人。
从语法上来开Javascript中分号表示语句结束,在开头加上可能是为了压缩的时候和别的方法分割一下,表示一个新的语句开始所以,如果在一个单独的JS文件中开头的分号是没有任何意义的,可以删掉
叹号是逻辑运算符,是“非”的意思常见这种写法 if(!true){};而將运算符加载函数定义的前面,则是将函数看做一个整体然后再调用这个函数,并对返回的结构进行逻辑运算
说白了,此处就是构建叻一个立即执行函数建议楼主知道意思就可以,自己写的时候可以使用更清晰的格式:
楼上已经给出很详细的解说了。
这里补充一点:在函数声明【 function (){} 】后面加【 () 】意思是执行这个函数声明。有的叫法是“匿名自动执行函数”更准确的表示应该为“立即执行函数”。
泹立即执行函数要作为表达式的一部分才行,不然js解释器会报语法错误一般,成为表达式的最容易理解方式是:在左右两端加一个圆括号像这样【 (function (){}) 】。所以立即执行函数最常见的写法是【 (function (){})() 】,这是一个语句在前面和后面都可以加【 ; 】。