js 面试题总结 3
Posted lvyongbo
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了js 面试题总结 3相关的知识,希望对你有一定的参考价值。
1 console.log(a); // undefined 2 var a = 12; // 12 3 function fn() { 4 console.log(a); // undefined 5 var a = 13; // 13 6 } 7 fn(); 8 console.log(a); // 12
- 创建全局作用域;
- 变量提升,声明一个 a 变量、定义一个函数 fn;
- 执行代码;( 变量 a 已提升但未赋值,所以 a = undefined,输出 a 值为 undefined,设置 全局变量 a = 12 )
- 执行 fn,形成一个私有作用域 fn ;
- 私有作用域中的执行过程为:
1)形式参数赋值。没有形式参数;
2)变量提升。提升变量 a ;(私有作用域中,如果定义了变量,那么所有的相同变量名都是同一个)
3)执行代码。局部变量 a已提升还未赋值,所以是 undefined,输出 a 值为 undefined,设置局部变量 a = 13 ; - 输出全局变量 a 值 为 12;
1 console.log(a); // undefined 2 var a = 12; // 12 3 function fn() { 4 console.log(a); // 12 5 a=13; // 13 6 } 7 fn(); 8 console.log(a); // 13
9 // 结果为 undefined 、12 、13
1 console.log(a); // a is not defined 2 3 a=12; 4 function fn() { 5 console.log(a); 6 a = 13; 7 } 8 fn(); 9 console.log(a); 10 // a is not defined
以上是关于js 面试题总结 3的主要内容,如果未能解决你的问题,请参考以下文章
经验总结:Java高级工程师面试题-字节跳动,成功跳槽阿里!