js前加感叹号或分号的作用是?

;!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);

使用括号包裹定义函数体,解析器将会以函数表达式的方式去调用定义函数。也就是说,任何能将函数变成一个函数表达式的作法,都可以使解析器正确的调用定义函数。而 ! 就是其中一个,而 + – ~ 都有这样的功能。

自己写段代码测试看看吧

此条目发表在开源代码分类目录,贴了标签。将固定链接加入收藏夹。

发表回复