方法嵌套实际是要实现一种循环,是循环就有两个要素:一个是终止条件,一个是增量。
嵌套函数和普通函数有一点不同:
既然是嵌套函数,就是把自身当作值运用到函数体内。这就要求函数必须有一个返回值。就要用return语句。
function a(x){
if(x<=1)
return 1
else
return x*a(x-1)
}
//上述示例是一个嵌套函数,来确定一下循环要素:if(x<=1) return 1这是终止条件,当x<=1时终止,else return x*a(x-1)这是增量,每次嵌套调用函数a()时参数都会减1
function a(x){
if(x<=1)
return 1
else{
var m=1
for(var i=2i<=xi++){
m*=i
}
return m
}
}
//上述示例嵌套函数就是要实现这样的循环
4位字符串,共有A₂₆⁴种排列。提供递归的思路:
var str = 'a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z', arr=str.split(','), strA=[]
var PermutN=function(n,m){//生成排列数索引 (从n个数中选择m个)
var t=[],ms=[],mstr
if(n==1){
if(m==0){t=[]}
if(m==1){t=[0]}
return t
}
if(m==0){
return []
}
if(m==1){
return 自然序列数组
}
for(var i=0i<ni++){
var s=PermutN(n-1,m-1)
t.push(对s进行拼接)
}
return t
}
var P=PermutN(26,4)
for(var i=0i<P.lengthi++){
var Pi=P[i],ps=''
for(var j=0j<4j++){
ps+=arr[j]
}
strA.push(ps)
}
return strA
<script type="text/javascript">function getTime() {
var str = '4,5'
var num = '1,2,3,4,5'
var a1=str.split(",")
var a2=num.split(",")
for (var i = 0i <a1.lengthi++) {
for (var j = 0j <a2.lengthj++) {
var s = ","
if (j == a2.length - 1) {
s = ""
}
document.write(a1[i] + "-" + a2[j] + s)
}
document.write("<br>")
}
}
getTime()
</script>