isNaNとisFiniteの違いについて

テストコード。

var f=function(a){
    alert(a+': '+(!isNaN(a))+', '+isFinite(a));
};
f(0);  // true, true
f("0");  // true, true
f("0x0F");  // true, true
f("0hoge");  // false, false
f(Number(0));  // true, true
f(new Number(0));  // true, true
f(Infinity);  // true, false
f(NaN);  // false, false
f(null);  // true, true
f(true);  // true, true
f(false);  // true, true
f([1,2,3]);  // false, false
f({hoge:'fuga'});  // false, false
f(undefined);  // false, false

結論。isFiniteはInfinityを除いて!isNaNの結果と同じ