如何因式分解一个数
How do I factorialize a number?
当我在Chrome中运行此代码时,它报告"超过最大调用堆栈大小。"
http://codepen.io/tcadams9/pen/JRLyOqif (randomNum === 0 || randomNum === 1)
return 1;
for (var i = randomNum - 1; i >= 1; i--) {
num *= i;
}
return factorial();
$("#button2").click(factorial);
你把变量和DOM元素搞混了。id为"randomNum"的DOM元素值不等于变量randomNum
。通过$("#randomNum").val()
获取该值。这似乎是递归和非递归方法的混合。你需要清理一下:明确:
randomNum = 6; //set the value before
function factorial () {
var num =1;
for (var i = randomNum - 1; i >= 1; i--) {
num *= i;
}
return num;
}
和
$("#button2").click(function () {
randomNumber = $("#randomNumber").val();
$("#Factorial").html(
factorial()
)
})
或
function factorial (randomNum) {
if (randomNum === 0 || randomNum === 1)
return 1;
return randomNum * factorial(randomNum-1);
}
然而,你不能通过'click'调用该函数,因为它不会有一个randomNumber
参数。
要解决这个问题,你需要将evenHandler的注册更改为
$("#button2").click(function () {
$("#Factorial").html(
factorial($("#randomNumber").val())
)
})
测试过了,运行正常
相关文章:
- 创建一个类似链接的按钮,并通过Javascript函数打开一个新的弹出窗口
- jQuery:循环一个具有不同超时值的循环
- 当包含另一个asp文件时,是否也包含所有引用的样式和脚本页面
- 从javascript创建一个列表
- 节点导出返回一个空对象
- 使用clickToggle并在单击另一个元素时关闭元素
- 我可以在json对象中添加一个函数吗
- 使用javascript将动态表从一个html页面打印到另一个html页
- 将jsp文件下拉列表中的选定项分配给一个java变量(比如String selection)
- 表追加而不附加最后一个元素
- 我如何找到一个句子中的所有空格并替换忽略它们
- 将一个长数字分解为其组成整数时出现奇怪错误
- 如何每隔X个字符分解一个字符串
- 我如何使用一个大的图像,并将其分解成更小的部分作为一个网站
- 取这个因式分解函数并逐步进行
- 如何因式分解一个数
- InDesign使用XSLT 1将一个XML文件分解为多个XML文件
- 因式分解一个数
- 我创建了一个网页,可以将数字分解.我已经创建了该函数.现在我需要创建一个函数来显示我的数学
- 将数组分解为4个数组,并将这些数组存储在一个新的数组中