首页 > 试题广场 >

下列代码的执行结果 function sayHello()

[单选题]
下列代码的执行结果
function sayHello() {
console.log(name);
  console.log(age);
  var name = "Tom";
  let age = 18;

sayHello();
  • Tom, undefined
  • Tom, ReferenceError
  • ReferenceError, 18
  • undefined, ReferenceError
1. 代码从上到下执行,由于var存在函数提升,当执行到console.log(name)时,函数的作作用域已经存在声明的变量var,所以打印undefined,
2. let 声明的变量不存在变量提升,且存在暂时性死区,即不允许在声明变量之前使用,不然会报错
发表于 2021-07-01 09:49:14 回复(0)