首页 > 试题广场 >

代码片段1:check('first');functionc

[单选题]
代码片段1:
check('first');
function check(ars){
    console.log(ars);
}
代码片段2:
check('second');
var check= function(ars){
    console.log(ars);
}
以上两段代码分别执行的结果是()
  • first, second
  • Uncaught ReferenceError, Uncaught ReferenceError
  • Uncaught ReferenceError, second
  • first, Uncaught ReferenceError
代码片段1:
check('first');
function check(ars){
    console.log(ars);
}
这里使用的是函数声明,函数声明有提升现象,实际代码执行顺序如下:
function check(ars){
    console.log(ars);
}
check('first');
控制台正常输出first
代码片段2:
check('second');
var check= function(ars){
    console.log(ars);
}
这里使用的是函数表达式,函数表达式不会提升,实际代码执行顺序如下:
var check;
check('second');
check= function(ars){
    console.log(ars);
}
在未给check赋值的情况下调用,所以报错

发表于 2021-07-17 19:52:50 回复(0)
函数提升,只会提升函数声明,而不会提升函数表达式。
发表于 2022-06-24 22:02:19 回复(0)