为了账号安全,请及时绑定邮箱和手机立即绑定

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

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

SMILET 2018-12-06 21:23:59
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); }
查看完整描述

6 回答

?
临摹微笑

TA贡献1982条经验 获得超2个赞

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

查看完整回答
反对 回复 2018-12-24
?
慕仙森

TA贡献1827条经验 获得超7个赞

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

查看完整回答
反对 回复 2018-12-24
?
三国纷争

TA贡献1804条经验 获得超7个赞

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

查看完整回答
反对 回复 2018-12-24
?
蛊毒传说

TA贡献1895条经验 获得超3个赞

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

查看完整回答
反对 回复 2018-12-24
?
喵喔喔

TA贡献1735条经验 获得超5个赞

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

查看完整回答
反对 回复 2018-12-24
?
DIEA

TA贡献1820条经验 获得超2个赞

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

查看完整回答
反对 回复 2018-12-24
  • 6 回答
  • 0 关注
  • 490 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信