let a=10
let r=function a(){
a=20
console.log(a)
}
r()
console.log(a)
答案:第一个打印函数r 第二个打印10 不是很理解 哪位大神解释一下
let a=10
let r=function a(){
a=20
console.log(a)
}
r()
console.log(a)
答案:第一个打印函数r 第二个打印10 不是很理解 哪位大神解释一下
let a=10
let r=function a(){
a=20
console.log(a)
}
r()
console.log(a)
function a(){
a=20
console.log(a)
}
10
由于函数r使用了命名函数表达式;那么这里的a 只是一个标识符只有在函数作用域中有效,在外面的作用域中无效;
所以函数体内a=20是无效的,因为不能给标识符再赋值;而下一句打印a,就相当于打印这个函数体;
因为r函数a=20是无效代码,最后直接打印a,就直接输出全局变量a的初始值10