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());函数按顺序进行提升,后者覆盖了前者
慕虎7371278
TA贡献1802条经验 获得超4个赞
额你既然都说了是函数提升了所以会打印出2。。js的函数声明方式会自动提升,你上面的写法其实就是functiontext(){console.log(1)}functiontext(){console.log(2)}console.log(text())
添加回答
举报
0/150
提交
取消