我有以下代码,其中最简单的形式包括在DOM完全加载时调用函数。我正在使用函数声明,以便在定义之前和之后都可以调用myFunction
。
/*global $*/
$(function() {
"use strict";
myFunction();
function myFunction() {
// do something
}
});
如果在声明之前调用该函数,则JSLint会出现以下错误:
' myFunction的'超出范围。
如果我在调用函数之前放入函数声明,那么JSLint不会出错。然而,这违背了使用函数声明的全部要点(能够在定义之前和之后调用函数。
/*global $*/
$(function() {
"use strict";
function myFunction() {
// do something
}
myFunction();
});
有人可以解释为什么会这样吗?我想我对变量的范围超出变量的含义有所了解,但我不明白这是如何应用于函数声明的。