Fe-interview: Day10:写出执行结果,并解释原因

Created on 22 Jun 2020  ·  5Comments  ·  Source: lgwebdream/FE-Interview

var x=1;
if(function f(){}){
    x += typeof f;
}
console.log(x)
// 写出执行结果,并解释原因

每日一题会在下午四点在交流群集中讨论,五点小程序中更新答案
欢迎大家在下方发表自己的优质见解
二维码加载失败可点击 小程序二维码

扫描下方二维码,收藏关注,及时获取答案以及详细解析,同时可解锁800+道前端面试题。

Most helpful comment

答案
1 undefined

解析
条件判断为假的情况有:0,false,'',null,undefined,未定义对象。函数声明写在运算符中,其为true,但放在运算符中的函数声明在执行阶段是找不到的。另外,对未声明的变量执行typeOf不会报错,会返回undefined

All 5 comments

答案
1 undefined

解析
条件判断为假的情况有:0,false,'',null,undefined,未定义对象。函数声明写在运算符中,其为true,但放在运算符中的函数声明在执行阶段是找不到的。另外,对未声明的变量执行typeOf不会报错,会返回undefined

结果应该是NaN吧,1+undefined=NaN

结果应该是NaN吧,1+undefined=NaN

typeof 返回的是字符串哦

放在运算符中的函数声明在执行阶段是找不到的

理解这个意思,但是这种行为是写在规范里的么?找了一圈没找到,有没有什么出处?

没有10年脑血栓应该写不出这种代码

Was this page helpful?
0 / 5 - 0 ratings