JSLint' myFunction'超出范围取决于它的定义时间

时间:2016-02-02 08:51:09

标签: javascript jquery scope jslint

我有以下代码,其中最简单的形式包括在DOM完全加载时调用函数。我正在使用函数声明,以便在定义之前和之后都可以调用myFunction

/*global $*/

$(function() {
    "use strict";

    myFunction();

    function myFunction() {

        // do something
    }
});

如果在声明之前调用该函数,则JSLint会出现以下错误:

  

' myFunction的'超出范围。

如果我在调用函数之前放入函数声明,那么JSLint不会出错。然而,这违背了使用函数声明的全部要点(能够在定义之前和之后调用函数。

/*global $*/

$(function() {
    "use strict";

    function myFunction() {

        // do something
    }

    myFunction();
});

有人可以解释为什么会这样吗?我想我对变量的范围超出变量的含义有所了解,但我不明白这是如何应用于函数声明的。

0 个答案:

没有答案