function demo(a, b) {
console.log(a)
function a(){}
}
demo(1,2)
这块打印出的是函数。
虽然函数的变量提升会优先与变量,实参的赋值难道不是在函数内部执行之前吗?也就是说执行顺序
function demo(a, b) {
function a(){}(函数声明)
a; (参数声明)
a = 1(参数赋值)
console.log(a)
}
不知道我的理解在哪里出现了问题,希望各位可以指正,感谢!
因为你么有吃透语法
js虽然是解释性的语言,它也是要先分析语法,再执行的,不能无脑执行呀
否则你的函数只要定义在调用之后,就都会认不出来,你觉得那样对吗
入参传参并没有声明这个说法,你可以这么理解,参数在最上面,不是在函数内执行。
function demo(a=1, b) {
function a(){} //(函数声明)
console.log(a)
}