这是jQuery的伪代码
$(document).ready(function(){
printHelloworld();
});
var printHelloworld = function(){
console.log('hello world');
}
在此示例中,控制台将打印hello world。
我的问题是必须在使用前分配函数表达式,但在此示例中,我在分配之前使用了printHelloworld()。我不知道.ready()函数做了什么?它是否有助于提升功能?
答案 0 :(得分:0)
var
将printHelloworld
函数声明提升到函数(或脚本)的顶部。在您在$(document).ready()
语句之后分配它之前,它尚未初始化,但您传递给ready
的匿名函数仍保留对该变量的引用。到执行该函数时,printHelloworld
变量已初始化并可用。
请参阅:https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Statements/var
因为在执行任何代码之前处理变量声明(和一般声明),所以在代码中的任何地方声明变量等同于在顶部声明它。这也意味着变量可以在声明之前使用。