为什么在外面使用var就会报错?在里面就不会报错?
function fn(x=8){
var x = 89;
console.log(x);//不报错
}
fn();
let y = 7;
var y = 8;//报错
function fn(x=8){
var x = 89;
console.log(x);//不报错
}
fn();
let y = 7;
var y = 8;//报错
10 回答11.3k 阅读
5 回答4.9k 阅读✓ 已解决
4 回答3.2k 阅读✓ 已解决
2 回答2.8k 阅读✓ 已解决
3 回答2.4k 阅读✓ 已解决
3 回答2.2k 阅读✓ 已解决
2 回答2.6k 阅读✓ 已解决
函数的参数相当于var 出来的变量,var重复定义不会报错函数的参数相当于在声明在一个副作用域与子作用域中间的一个作用域中用let声明了一个变量