网页
资讯
视频
图片
知道
文库
贴吧
地图
采购
进入贴吧
全吧搜索
吧内搜索
搜贴
搜人
进吧
搜标签
日
一
二
三
四
五
六
签到排名:今日本吧第
个签到,
本吧因你更精彩,明天继续来努力!
本吧签到人数:0
一键签到
成为超级会员,使用一键签到
一键签到
本月漏签
0
次!
0
成为超级会员,赠送8张补签卡
如何使用?
点击日历上漏签日期,即可进行
补签
。
连续签到:
天 累计签到:
天
0
超级会员单次开通12个月以上,赠送连续签到卡3张
使用连续签到卡
12月27日
漏签
0
天
前端吧
关注:
223,843
贴子:
1,378,677
看贴
图片
吧主推荐
游戏
1
2
下一页
尾页
61
回复贴,共
2
页
,跳到
页
确定
<<返回前端吧
>0< 加载中...
请教一下大家,有人知道为什么控制台输出是5和2呢,不胜感激!
只看楼主
收藏
回复
sdfg56e1
仗剑天涯
3
该楼层疑似违规已被系统折叠
隐藏此楼
查看此楼
sdfg56e1
仗剑天涯
3
该楼层疑似违规已被系统折叠
隐藏此楼
查看此楼
把function a(){}去掉就输出两个5了,这该如何理解呢
LQ_QL
初涉江湖
1
该楼层疑似违规已被系统折叠
隐藏此楼
查看此楼
sdfg56e1
仗剑天涯
3
该楼层疑似违规已被系统折叠
隐藏此楼
查看此楼
biubiubiu昔
初涉江湖
1
该楼层疑似违规已被系统折叠
隐藏此楼
查看此楼
变量提升,function a(){}相当于 var a = ()=>{}
贴吧用户_aN7Ra6W
初涉江湖
1
该楼层疑似违规已被系统折叠
隐藏此楼
查看此楼
作用域问题,function a()这个定义,和变量a同名了,导致a的作用域异常,你可以把function a()改成function b(),这时候,a是正常的,b就异常了
工作公魔
后起之秀
7
该楼层疑似违规已被系统折叠
隐藏此楼
查看此楼
变量提升
致郁
江湖少侠
6
该楼层疑似违规已被系统折叠
隐藏此楼
查看此楼
for循环里有一个作用域,a=2,前面没有声明语句,即window a=2,全局作用域赋值,function a在局部作用域生成了变量 var a,后续a=5是赋值给局部的,所以输出5,循环外面访问全局a为2
丿丶半世倾城
后起之秀
7
该楼层疑似违规已被系统折叠
隐藏此楼
查看此楼
这里有一个重要的知识点,我忘了是那本书看到的了。变量提升这些不不说了,当代码执行到function a(){} 这一句时,会同步全局作用域的同名变量。在此前块中的a=2 所以同步以后外面的a也是2,之后内部a再赋值为5 所以是 5 2
丿丶半世倾城
后起之秀
7
该楼层疑似违规已被系统折叠
隐藏此楼
查看此楼
所以整个流程为
1变量提升,块a为fun 外部a为undefined
2 赋值 块a为2 外部undefined
3 执行function a(){} 同步外部同名变量 外部a=块a = 2
4块a被赋值为5
结果就是外边的是2 块a是5
寒天
后起之秀
7
该楼层疑似违规已被系统折叠
隐藏此楼
查看此楼
变量提升似乎是两个5,看来影响点就在这个函数。还有是函数的影响和函数是命名为2的函数的影响,不懂这两个点
寒天
后起之秀
7
该楼层疑似违规已被系统折叠
隐藏此楼
查看此楼
变量提升似乎是两个5,看来影响点就在这个函数。还有是函数的影响和函数是命名为a的函数的影响,不懂这两个点
Mirage
初涉江湖
1
该楼层疑似违规已被系统折叠
隐藏此楼
查看此楼
之前看到一个类似的http://b23.tv/OMdJ2Sp
君子不器
自成一派
12
该楼层疑似违规已被系统折叠
隐藏此楼
查看此楼
犹如在js的历史长河中吃屎
绝臭调
初涉江湖
1
该楼层疑似违规已被系统折叠
隐藏此楼
查看此楼
希望对你有帮助
登录百度账号
扫二维码下载贴吧客户端
下载贴吧APP
看高清直播、视频!
贴吧页面意见反馈
违规贴吧举报反馈通道
贴吧违规信息处理公示