JavaScript在函数中声明变量的作用域

1.下面代码函数中声明了变量m,所以m的作用域是函数内部,函数执行完毕后,不能再访问变量m:

[html]

<script>
function show(i,j){
var m=i+j;
return m;
}
show(1,2);
alert(m);
</script>

[/html]

2.下面函数中m没有生命,函数执行完毕后仍然可以访问m:

[html]

<script>
function show(i,j){
m=i+j;
return m;
//或者以上两段代码缩写为return m=i+j;效果是一样的。
}
show(1,2);
alert(m);
</script>

[/html]

下面的虽然在外部定义了m,但是函数内部没有声明,所以在外部再次调用m时会显示被修改的值:

[html]

<script>
var m="1";
function show(){
m="2";
return m;
}
show();
alert(m);
</script>

[/html]

3.如果在函数内部使用外部变量,可以使用window.propertyName:

[html]

<script>
var m="1";
function show(){
var m="2";
return window.m;    //返回"1"
//return m;    //返回"2"
}
alert(show());
</script>

[/html]

您的赞助将会支持作者创作及本站运维

发表评论


TOP