javascript作用域练习
Posted 傻了吧爷会飞
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了javascript作用域练习相关的知识,希望对你有一定的参考价值。
javascript作用域练习
<script>
/* 练习1 */
var a=4;
function test(){
console.log(a);//4
a=10;
console.log(a);//10
}
test();
/* 练习2 */
function func(){
console.log(a);//undefined
var a=1;
}
func();
/*
练习2的预解析:
var a;
function func(){
var a;
console.log(a);
a=1;
}
a=4;
func();
*/
</script>
<script>
/* 练习1 */
var a=4;
function test(x){
console.log(a);//undefined
if(x){
var a=68;
}
console.log(a);//68
}
test(true);
console.log(a);//4
/*
预解析:
var a;
function test(x){
var a;
console.log(a);
if(x){
a=68; //if中{}是块级作用域,块级作用域中var定义的变量会提升到块级作用域外面
}
console.log(a);
}
a=4;
test(true);
console.log(a)
*/
</script>
<script>
var a=20;
var b=12;
function test(a){
console.log(a);//20
a=45;
b=23;
}
test(a);
console.log(a);//20
console.log(b);//23
/*
预解析:
var a;
var b;
function test(a){//a以函数的参数传入时,a在函数作用域中变成了局部变量
var a;
a=20;
console.log(a);
a=45;
b=23;//b还是全局变量
}
a=20;
b=12;
test(a);
console.log(a);//20
console.log(b);//23
*/
</script>
以上是关于javascript作用域练习的主要内容,如果未能解决你的问题,请参考以下文章