在某些第三方包中,会见到以 !
开头的代码,那么为什么要这么做呢?
这种代码的框架是这样的:
!function() {
}();
以这样的形式展现,可能不容易看出来是怎么回事,这么写的用意是什么?
接下来再看另外一个常见的第三方包的导出代码形式:
(function() {
})()
其实, !
的作用跟 ()
的作用相同,都是将后面的部分解析成函数表达式去执行。
同样作用的还有 ~
、+
、-
等等。
在某些第三方包中,会见到以 !
开头的代码,那么为什么要这么做呢?
这种代码的框架是这样的:
!function() {
}();
以这样的形式展现,可能不容易看出来是怎么回事,这么写的用意是什么?
接下来再看另外一个常见的第三方包的导出代码形式:
(function() {
})()
其实, !
的作用跟 ()
的作用相同,都是将后面的部分解析成函数表达式去执行。
同样作用的还有 ~
、+
、-
等等。