编写一个js函数用来求n的阶乘

JavaScript010

编写一个js函数用来求n的阶乘,第1张

function factorial(n){

    return n > 1 ? n * factorial(n-1) : 1

}

factorial(5)//120

以上函数可以求简单的n的阶乘

由于使用的是原生的乘法,所以计算范围有限

主要使用了递归的方式进行计算,是求阶乘的常用方法之一

代码如下:

<!DOCTYPE html>

<html>

<head>

<meta charset="utf-8" />

<meta http-equiv="X-UA-Compatible" content="IE=edge">

<title>demo1</title>

<meta name="viewport" content="width=device-width, initial-scale=1">

<script type="text/javascript">

function calc() {

var n = parseInt(document.getElementById("number").value)

if (!n || n < 1) {

alert('请输入一个大于0的数字。')

return

}

var result = 1

for (var i = 1 i <= n i++) {

result *= i

}

document.getElementById("result").innerText = n +'! = ' + result

}

</script>

</head>

<body>

<input id="number" type="text" /><button onclick="calc()">计算</button>

<br />

<div id="result"></div>

</body>

</html>

运行结果: