JS:同名标识符提升
规则:
1、函数和变量同名,变量先,函数后提升;(只是声明提升,不提升赋值)
2、变量和变量同名:就近原则;
3、函数和函数同名:就近原则;
4、js会把var 修饰的变量名提前声明;
5、变量值提升声明,函数提升的是整个函数体,函数内的变量只有当函数运行的时候才会声明;
6、对象内部的方法不会隐式提升。
总结:
形(形参和变量)实函运
1.先隐式提升当前作用域内部的所有形参变量和局部变量
2.再把实参赋值给形参变量
3.然后执行函数的隐式提前声明
4.最后按照顺序运行