Спасибо оба ваших кода верны!!!
Вот мой ещё!

Код:
Number.prototype.factorial=function () {
if(isNaN(this)==false && isFinite (this)==true && this>=0 && this-Math.round(this)==0) {
var factor=1;
for (var i=1; i<=this; i++) {
factor*=i;
}
return factor;
}
else {
return Nan;
}
};
var a=5;
trace (a.factorial());