因为压缩时为了节约空间,会去除所有空行。此时防御性分号就很重要了。 举个例子:前一个文件的内容是 var foo = function() { } 后一个文件是 (5) 压缩后生成的文件就是 var foo = function () {}(5) 于是后一个文件的内容就被当作参数传给了前一个文件中的函数,foo 就被理解为了以 5 为参数去调用前一个文件中的函数的返回结果。在这个例子中 foo 就变成了 undefined。 加上分号就没有这个问题了。
因为压缩时为了节约空间,会去除所有空行。此时防御性分号就很重要了。
举个例子:前一个文件的内容是
后一个文件是
压缩后生成的文件就是
于是后一个文件的内容就被当作参数传给了前一个文件中的函数,
foo
就被理解为了以5
为参数去调用前一个文件中的函数的返回结果。在这个例子中foo
就变成了undefined
。加上分号就没有这个问题了。