Elméletileg a NaN tényleg nem szám (nomen est omen Not a Number ), hanem állapot (pont ahogy a NULL is), csakhogy ezzel van két probléma. Az egyik, hogy a JS szerint a NaN mégiscsak szám:alert(typeof(NaN)); // will alert "number" A másik, hogy a JS-ben a NULL mégiscsak érték (pontosabban objektum).var x = null;
var y = null;
alert(x == y); // will alert "true"
alert(x === y); // will alert "true"
alert(typeof(null)); // will alert "object" Még viccesebb ez:alert(null + 1); will alert "1"
alert(null + '1'); will alert "null1" De a legviccesebb az ez:var s = Math.floor(1 / Math.random());
alert(s);
alert(Math.pow(s, null)); // will alert "1" Így aztán el lehet mondani, hogy JavaScriptben bármely szám NULL-adik hatványa az egy. :)@djpety:Nem bug, hanem feature :) Hát a JS másból sem áll, mint feature-ből. :) |