;!function(){}(); javascript中的;!有什么用?
分号:分号一般放尾部中表示语句结束,放在开头加上可能是为了合并多个文件,压缩的时候和别的方法分割一下,防止合并后没有分号出错。所以,如果在一个单独的js文件中,开头的分号是没有任何意义的,可以删掉,当然也不会出错。
感叹号:
先来说函数申明了,通常有2种:
函数声明是指下面的形式:
function functionName(){ // JS Code }
函数表达式则类似于给变量赋值:
var functionName = function(){ // JS Code return true; }
如果匿名函数不给变量赋值就必须加括号才能运行:
(function(x, y){
alert(x + y);
})(2, 3);
这时候再来看看下面的
!function( $ ){ //… }( window.jQuery );
等价于
(function($) { //… })(jQuery);
使用括号包裹定义函数体,解析器将会以函数表达式的方式去调用定义函数。也就是说,任何能将函数变成一个函数表达式的作法,都可以使解析器正确的调用定义函数。而 ! 就是其中一个,而 + – ~ 都有这样的功能。
自己写段代码测试看看吧