为了账号安全,请及时绑定邮箱和手机立即绑定

求大佬指点哈!不同方式创建同名函数会怎样?

求大佬指点哈!不同方式创建同名函数会怎样?

翻翻过去那场雪 2019-08-14 01:13:27
varkkk=function(){console.log(3333)}functionkkk(){console.log(4444)}kkk()//3333为什么输出是3333而不是4444。
查看完整描述

2 回答

?
阿晨1998

TA贡献2037条经验 获得超6个赞

函数是一等公民函数提升优于变量提升上面的代码实则如下:
functionkkk(){console.log(4444)}
varkkk;
kkk=function(){console.log(3333)}
kkk()
拙见,若有不对之处望指正
                            
查看完整回答
反对 回复 2019-08-14
?
POPMUISE

TA贡献1765条经验 获得超5个赞

分别运行这两个试一下,var定义全局的kkk()被修改
functionkkk(){console.log(4444)}
kkk();//4444
window.kkk();//4444
varkkk=function(){console.log(3333)};
kkk();//3333
window.kkk();//3333
varkkk=function(){console.log(3333)};
kkk();//3333
window.kkk();//3333
functionkkk(){console.log(4444)}
kkk();//3333
window.kkk();//3333
这样写,表明let的好处。报错,kkk已经被定义
functionkkk(){console.log(4444)}
kkk();//4444
window.kkk();//4444
letkkk=function(){console.log(3333)};//报错,kkk已经被定义
kkk();
window.kkk();
                            
查看完整回答
反对 回复 2019-08-14
  • 2 回答
  • 0 关注
  • 290 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号