;在jquery中准备好文档之前

时间:2012-01-22 18:15:33

标签: jquery

  

可能重复:
  What does the leading semicolon in JavaScript libraries do?

我正在阅读jquery flexslider源代码,我看到; 在文件准备好的电话之前

;(function ($) {...

有谁可以告诉我为什么我们需要;

3 个答案:

答案 0 :(得分:5)

这只是为了防止任何以前可能缺少分号的代码行。

如果您知道之前的代码末尾有分号,则根本不需要这个分号。

答案 1 :(得分:3)

它包含在案例中......

  • 代码与其他代码分组到同一个文件中,

  • 其他代码最后没有包含分号。


例如......

    (function() {

       // some bundled plugin

    })()  // <--- no semicolon

//  v--- semicolon saved the day    
    ;(function ($) {

       // flexslider plugin

    })();

如果没有分号,flexslider插件周围的()将被解释为函数调用,并且会尝试调用前一个函数的返回结果。

答案 2 :(得分:1)

这不是拼写错误。 ;可防止compliled / minified / compressed文件中的javascript错误。例如,当几个独立的库/插件被压缩在一起时。