1.以下遞迴函式存在棧溢位的風險,請問如何優化?
function factorial(n)
解答:
function factorial(n)
2.請實現乙個計算最大公約數的函式:解答:function greatestcommondivisor(a,b)
greatestcommondivisor(8, 12) //4
greatestcommondivisor(8, 16) //8
greatestcommondivisor(8, 17) //1
3.陣列去重(如果陣列中有nan)function greatestcommondivisor(a,b)
return a;
}
5.根據包名,在指定空間中建立物件array.prototype.uniq = function ()
return fibonacci(n - 1) + fibonacci(n - 2);
}
輸入描述:
namespace(}, 'a.b.c.d')輸出描述:
}}}}
6.封裝函式 f,使 f 的 this 指向指定的物件function namespace(onamespace, spackage) ;
}parent = parent[property];
}return onamespace;
}
7.dom 節點查詢function bindthis(f, otarget)
}
查詢兩個節點的最近的乙個共同父節點,可以包括節點自身
輸入描述:
onode1 和 onode2 在同一文件中,且不會為相同的節點
8.關係型陣列轉換成樹形結構物件function commonparentnode(onode1, onode2) else if(onode2.contains(onode1))else
}
關係型陣列:
期望結果:var obj = [,,
,]
實現原始碼:o = }}}
或者:function treeobj(obj)
o.child.push(item);
o.child = o.child;
}});
}});
return obj.filter(item => item.parent === null)[0]
}
9.js如何判斷一組數字是否連續function treeobj(obj) : cur));
}
期望結果:// 當出現連續數字的時候以『-』輸出
[1, 2, 3, 4, 6, 8, 9, 10]
["1-4", 6, "8-10"]
實現**:
判斷是否連續:
格式化實現:var arrange = function(arr)).concat(infinity).reduce(function(source, dest)
return dest;
});return result;
};
10.建立子類child,使用原型和建構函式的方式繼承父類people的方法,並呼叫say函式說出姓名和年齡。var formatarr = function(arr) else
}return newarr;
}
父類:
原型繼承:function people(name,age);
}
建構函式繼承:function child(name, age)
child.prototype = new people();
var child = new child('rainy', 20);
child.say()
組合繼承:function child(name, age)
var child = new child('rainy', 20);
child.say()
組合繼承優化:function child(name, age)
child.prototype = people.prototype;
var child = new child('rainy', 20);
child.say()
刷前端面經筆記(十二)
1.以下遞迴函式存在棧溢位的風險,請問如何優化?function factorial n 解答 function factorial n 2.請實現乙個計算最大公約數的函式 function greatestcommondivisor a,b greatestcommondivisor 8,12 4...
刷前端面經筆記(十二)
1.以下遞迴函式存在棧溢位的風險,請問如何優化?function factorial n 解答 function factorial n 2.請實現乙個計算最大公約數的函式 function greatestcommondivisor a,b greatestcommondivisor 8,12 4...
刷前端面經筆記(一)
1.css的盒子模型 包含元素內容content 內邊距padding 邊框border 外邊距margin box sizing border box content box inherit 1 content box 總寬度 margin border padding width,即為標準模型 ...