js输出结果? 为啥?
sayName("world");
sayAge(10);
function sayName(name) {
console.log("hello ", name);
}
var sayAge = function(age) {
console.log(age);
};
结果:
此题考察变量与函数提升
js机制,变量和函数会主动提升,所以在执行第一个函数时,函数存在,正常
执行第二个函数调用时,按照执行顺序,此时变量sayAge只仅仅是一个被声明的变量,并没有赋值
那么想要怎么才能正常调用第二个函数呢?
var sayAge = function(age) {
console.log(age);
};
sayAge(10);
结果:
按照js的执行顺序,先将函数赋给变量,再调用函数,这样就能达到正常的目的