说出以下代码的执行结果
=========================================
var a = 123;
function fun(){
alert(a);
}
fun();
// 局部有就用局部的 没有返回上一级去寻找
var a = 123;
var a = 123;
function fun(){
alert(a);
var a = 456;
}
fun();
alert(a);
、、、、、、、
//函数提前声明 var提前声明
var a = 123;
function fun(){
alert(a);//用的是局部变量的a 此时因为var提前声明 说以 var a已经存在在{}里 但是没有给a初始化【没有给a赋值】此时结果就是undefined
var a = 456;//var提前声明
alert(a);//456
}
fun();
alert(a); //用全局 123
//函数提前声明 var提前声明
/ //
var a = 123;
function fun(){
alert(a);//用的是全局变量的a 123
a = 456;//全局a
alert(a);//456
}
fun();
alert(a); //用全局 456
var a = 123;
function fun(){
alert(a);
a = 456;
}
fun();
alert(a);
=========================================
var a = 123;
function fun(a){
alert(a);
a = 456;
}
fun();
alert(a);
=========================================
var a = 123;
function fun(a){
alert(a);
a = 456;
}
fun(123);
alert(a);
///
var a = 123;
function fun(a){//(形参是局部变量:作用域是函数里{})
alert(a);//a是局部变量【形参】 777
a = 456;//形参局部变量456
alert(a);//456
}
fun(777);//形参是局部变量
alert(a);//全局变量的a=123并没有改变 123