vara=5;vara;alert(a)//5我的理解:第一次vara:vara=5;==>在内存中开辟空间a,a中保存了数字5。第二次vara:vara;==>在内存中开辟空间a,a中什么都没有。程序从上至下,从左至右执行,所以最后弹出的是“第二次vara”的结果,第二次vara中,a没有保存值,所以是undefined。但执行结果是5,请问一下alert为什么不是undefined?当局部变量和函数参数同名时,该怎么理解呢?也和预解析有关系吗?functiontest(a){vara=a||5;alert(a)}test()//没传参的话,就是5;传参的话就alert参数
添加回答
举报
0/150
提交
取消