var x = 1;
if( function f(){} ){
x += typeof f;
// console.log(f);
}
console.log(x);
// if的()将function f(){}变为一个表达式,是立即执行函数,执行结束后就销毁
// 所以x += typeof f; 中,f此时是无定义,若直接console.log(f)会报错:ReferenceError: f is not defined
// typeof(f)是唯一一种不报错并返回字符串"undefind",所以x为字符串"1undefined"
每日一题1026之JavaScript ()、typeof、立即执行函数
最新推荐文章于 2023-03-09 09:59:53 发布