Web前端最全面试经常出的JavaScript变量提升问题分析,web前端开发

最后

整理面试题,不是让大家去只刷面试题,而是熟悉目前实际面试中常见的考察方式和知识点,做到心中有数,也可以用来自查及完善知识体系。

开源分享:【大厂前端面试题解析+核心总结学习笔记+真实项目实战+最新讲解视频】

《前端基础面试题》,《前端校招面试题精编解析大全》,《前端面试题宝典》,《前端面试题:常用算法》

前端面试题宝典

前端校招面试题详解

console.log(‘辛苦了:’ + name);

} else {

console.log(‘吃饭没:’ + name);

}

}

fn();

等同于

var name = ‘张三’;

function fn() {

var name ;// var name = ‘李四’; 中的声明被提前到函数作用域里面

if (typeof name === ‘undefined’) {//此时成立

name = ‘李四’;

console.log(‘辛苦了:’ + name);

} else {

console.log(‘吃饭没:’ + name);

}

}

fn();

Q3:

var a=10,b=20,c=30;

function fn(a){

a=1;

var b=2;

c=3

}

fn(100)

console.log(a,b,c);

等同于

var a=10,b=20,c=30;

function fn(a){

//函数调用,形成局部作用域,形参a在内部局部作用域 a=100

var b;//b在内部变量提升

a=1;//内部局部作用域 a设置为1

b=2;//内部局部作用域 b设置为2

c=3;//全局作用与c被设置值3

}

fn(100)

//可以看到只有c被局部作用域修改了

console.log(a,b,c);//10 20 3

Q4:

if(!(“a” in window)){

var a = 10

}

console.log(a);

等同于

var a;//变量提升了

if(!(“a” in window)){//“a” in window 成立了,所以这个条件不执行

a = 10

}

console.log(a);//'undefined

Q5:

var fn = ‘hello’;

(function(fn){

console.log(fn);

var fn=fn||‘world’;

console.log(fn)

})(fn)

console.log(fn);

等同于

var fn = ‘hello’;

(function(fn){

//内部作用域

//形参先被定义 所以fn=hello

//var fn;//var fn=fn||‘world’;变量提升到这里,但是会被忽略,因为形参的fn先被定义

console.log(fn);//打印hello

fn=fn||‘world’;//这句fn还是等于hello

console.log(fn)//打印hello

})(fn)//hello作为实参传入

console.log(fn);//打印hello

//最终结果是:hello hello hello

Q6:

var n=10;

function fn(n){

console.log(n);

var n= 20;

console.log(n);

function n(){

}

console.log(n);

}

fn(n);

console.log(n);

等同于

var n=10;

function fn(n){

//局部作用域

//n根据形参首先定义 n=10

//函数会提升,覆盖了n,此时n为函数

最后

整理面试题,不是让大家去只刷面试题,而是熟悉目前实际面试中常见的考察方式和知识点,做到心中有数,也可以用来自查及完善知识体系。

开源分享:【大厂前端面试题解析+核心总结学习笔记+真实项目实战+最新讲解视频】

《前端基础面试题》,《前端校招面试题精编解析大全》,《前端面试题宝典》,《前端面试题:常用算法》

前端面试题宝典

前端校招面试题详解

心中有数,也可以用来自查及完善知识体系。

开源分享:【大厂前端面试题解析+核心总结学习笔记+真实项目实战+最新讲解视频】

《前端基础面试题》,《前端校招面试题精编解析大全》,《前端面试题宝典》,《前端面试题:常用算法》

[外链图片转存中…(img-fU2mXgz4-1715192068045)]

[外链图片转存中…(img-gQir2Ve3-1715192068046)]

[外链图片转存中…(img-QKKRjJ4s-1715192068046)]

  • 30
    点赞
  • 29
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值