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作用域练习的主要内容,如果未能解决你的问题,请参考以下文章
JS你不知道的JavaScript 笔记—— 作用域与闭包 - 编译原理 - LHS - RHS - 循环与闭包 - 模块 - 词法作用域 - 动态作用域