概念:一種化歸思想,將一個問題轉換為已解決的問題來實現;函數自己直接或間接的調用自己,要有跳出結構求n的m次冪 function power(n,m){ if(m==1)return n; return n*power(n,m-1); }斐波那契數列 1,1,2,3,5,8,13,21,54...帶 ...
概念:一種化歸思想,將一個問題轉換為已解決的問題來實現;函數自己直接或間接的調用自己,要有跳出結構
求n的m次冪
function power(n,m){
if(m==1)return n;
return n*power(n,m-1);
}
斐波那契數列 1,1,2,3,5,8,13,21,54...
帶有緩存功能的函數
沙箱模式:一個自調用函數,代碼寫到函數中執行,不會與外界有任何影響
var f=(function(){
var data=[1,1];
return function fn(n){
var v=data[n];
if(v===undefined){
v=fn(n-1)+fn(n-2);
data[n]=v;
}
return v;
}
})()
實現深拷貝
function copy(o){
var temp={};
for(var k in o){
if(typeof o[k]=='object'){
temp[k]=copy(o[k]);
}else{
temp[k]=o[k];
}
}
return temp;
}
用遞歸實現getElementsByClassName
function byClass(node,className,list){
var arr=node.childNodes;
for(var i=0;i<arr.length;i++){
if(arr[i].className==className){
list.push(arr[i]);
}
if(arr[i].childNodes.length>0){
byClass(arr[i],className,list)
}
}
}