-
紫衣仙女
你这个问题要理解的不是变量提升,而是变量的作用域,你的代码和下面的代码是一样的,别看形参是y,实际上这是两个不同的值 var x = 1; var y = 2; method(8) alert(x+y) function method(a) { x += 2; a += 3; alert(x+a) }
-
烙印99
函数内部变量有定义就找函数内部的变量,没定义就找全局的,函数内部的变量和全局的变量名相同,前者会覆盖后者var x = 1;var y = 2;method(8)alert(x+y)function method(y) { x += 2; //全局变量x=1+2 y += 3; //形参y=8+3 alert(x+y)}
-
喵喔喔
函数中的y 是参数里的y 但函数里的x还是全局的x