代码之家  ›  专栏  ›  技术社区  ›  Ray Lu

为什么JQuery ui.core.js中的前导分号是?

  •  3
  • Ray Lu  · 技术社区  · 15 年前

    ;jQuery.ui || (function($) {
    // code...
    })(jQuery);
    

    有‘的理由是什么?’在前面?

    1 回复  |  直到 13 年前
        1
  •  9
  •   Andrew Moore    15 年前

    它用于连接目的,以防在另一个脚本末尾连接此文件。它有效地防止了连接到未被分号正确终止的脚本的错误。

    因此,考虑到以下脚本:

    alotOfJsCode(argument);
    var fileEnd = noSemiColon
    

    开头的分号可以防止这种情况:

    alotOfJsCode(argument);
    var fileEnd = noSemiColonjQuery.ui || (function($) { //...
    

    这会导致代码失败。

    在JavaScript中,分号本身没有语法值。以下两种说法是相同的:

    //Statement 1
    ;;; ;; ; alert('hello world!'); ;;; ;; ;;
    
    //Statement 2
    alert('hello world!');