提供递归的思路:
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
不可以,因为js文件的后缀名为js,而php要求后缀名为php,所以冲突,不可以如果非要这么做,那么可以修改服务器(例如apache)的配置,使得对js文件也进行扫描解释,但是这样做会增加服务器的压力题主是说在 run 外部调用 a、b、c?
那是不可能的,使用嵌套函数的目的就是为了让外部无法调用,以达到封装性的目的。
可以使用折衷的办法:
function run(obj){function a(){
return '我不爱你'
}
function b(){
return '我爱你'
}
function c(){
return '我只喜欢你'
}
switch(obj){
case 'a':
return a()
break
case 'b':
return b()
break
case 'c':
return c()
break
}
return null
}
使用时:
alert(run('a'))alert(run('b'))
alert(run('c'))