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

函数提升的疑惑

函数提升的疑惑

Cats萌萌 2019-05-25 15:47:02
functiontext(){conssole.log(1)}console.log(text());会打印出2,为什么不是1functiontext(){conssole.log(2)}
查看完整描述

2 回答

?
郎朗坤

TA贡献1921条经验 获得超9个赞

打出来的是2和undefined把2是第二个text()执行;undefined是因为text()没有返回值函数提升,这段代码等价于:
functiontext(){
console.log(1);
}
functiontext(){
console.log(2);
}
console.log(text());
函数按顺序进行提升,后者覆盖了前者
                            
查看完整回答
反对 回复 2019-05-25
?
慕虎7371278

TA贡献1802条经验 获得超4个赞

额你既然都说了是函数提升了所以会打印出2。。
js的函数声明方式会自动提升,你上面的写法其实就是
functiontext(){
console.log(1)
}
functiontext(){
console.log(2)
}
console.log(text())
                            
查看完整回答
反对 回复 2019-05-25
  • 2 回答
  • 0 关注
  • 407 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信