猿问

为什么计算到我输出的那个数字的时候f回事undefined

function throw_(x){
    if(x<0){
        throw new Error("x不能为负数")
    }else{
        for (var f=1;x>1;f*=x,x--){
            document.write(f+"<br/>")
        }    
    }
}
try{
    var n=Number(prompt("请输入一个正整数",""));
    var f=throw_(n);
    document.write(f);
    alert(n + " = " +f);
}
SMILET
浏览 491回答 6
6回答

临摹微笑

你的throw_这个函数没有返回值吧?

慕仙森

这个是代表你这个f没定义。

三国纷争

定义了的呀,如果没定义的话直接就会报错了

蛊毒传说

throw函数的返回值是什么?没有的话就是undefined。

喵喔喔

我这样写 return f的话上面的for就只会执行一次 

DIEA

@leestar: 不太明白你是要取每个过程f的值还是f的最终值。如果取过程值可以用个数组把每个值保存起来,然后返回这个数组,如果取最终值,可以在for循环体外return f。
随时随地看视频慕课网APP

相关分类

JavaScript
我要回答