搜索
javascript - 所有的方法或函数插件,都应当以分号结尾,否则压缩的时候可能出现问题 为啥会出问题?求大神告知原理,关于压缩方面的
大家讲道理
大家讲道理 2017-04-10 16:23:30
[JavaScript讨论组]

所有的方法或函数插件,都应当以分号结尾,否则压缩的时候可能出现问题 为啥会出问题?求大神告知原理,关于压缩方面的

大家讲道理
大家讲道理

光阴似箭催人老,日月如移越少年。

全部回复(2)
巴扎黑

因为压缩时为了节约空间,会去除所有空行。此时防御性分号就很重要了。

举个例子:前一个文件的内容是

var foo = function() {
}

后一个文件是

(5)

压缩后生成的文件就是

var foo = function () {}(5)

于是后一个文件的内容就被当作参数传给了前一个文件中的函数,foo 就被理解为了以 5 为参数去调用前一个文件中的函数的返回结果。在这个例子中 foo 就变成了 undefined

加上分号就没有这个问题了。

迷茫

楼上正解。除了;号还有一些+,-号之类的,它们有区别吗?

热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板