整理下之前做的有点疑惑的js基础题目和大家分享以下,如果大家觉得有用,别忘了点一下赞哦
块级作用域
function checkAge(age){
if(age<18){
const msg = "sorry,you're too young"
}else{
const msg = "yay!you're old enough"//flag1
}
return msg//flag2
}
console.log(checkAge(21))//ReferenceError msg is not defined
这题的主要问题是
一开始你可能很疑惑,为什么会报错?
flag1处:const 声明 msg 常量,是具有块级作用域的,大括号外不能拿到这个值
flag2处:相当于msg是未声明的,所以报错
这里有个阮老师的例子
{
const C = "11";
}
// console.log(C); //报错 c is not defined