這題的詳細解釋來自:http://www.cnblogs.com/xcr1234/p/5527816.html
var x = 1;
if (function f() {}) {
x += typeof f;
}
console.log(x);
A. 1
B. “1function”
C. “1undefined”
D. NaN
1)首先在if判定中,函數f的布爾值是true;所以判定條件成立,可以執行if中的語句
2)函數f在正常聲明的情況下,typeof f應該是”function”
3)但是題目中f函數只是if的判定條件,沒有經過聲明;所以typeof f返回”undefined”,所以答案是C
//單獨聲明的情況下,f是函數類型
function f(){}
typeof f //"function"
但題目中f作爲一個if中的判定條件存在,未得到聲明
if(function f(){}){
}
typeof f //"undefined"