var a = 123;
function fun(){
alert (a); //undefined
var a =456;}
fun();
alert(a); //123
var a = 123;
function fun(){
alert(a);} //123
fun();
var a = 123;
function fun(){
alert(a);//123
a = 456;}
fun();
alert(a);//456
var a = 123;
function fun(a){
alert(a); //undefined
a= 456;
alert(a);//456
}
fun();
alert(a); //123
var a = 123;
function fun(a){
alert(a); //123
a= 456;
alert(a)//456
}
fun(123);
alert(a); //123
->不加var的赋值,先在作用域内寻找变量,去赋值,若作用域内没有这一变量,向上一级寻找变量去赋值
->形参相当于在作用域内声明但未赋值