### 1.Fibonacci--ææ³¢é£å¥æ°å
ç®æ³å¤æåº¦ä¸º[O(2n)](http://stackoverflow.com/questions/360748/computational-complexity-of-fibonacci-sequence/360773#360773)
```js
function fibonacci(n) {
return n < 2 ? n : fibonacci(n-1) + fibonacci(n-2);
}
```
### 2.æ±æ°ç»ä¸çæå¤§å¼
```js
function maxInArray(arr) {
return Math.max.apply(Math, arr);
}
```
### 3. å符串å转
```js
String.prototype.reverse = function() {
return this.split('').reverse().join('');
}
```
or
```js
String.prototype.reverse = function() {
var str = '';
var len = this.length;
while (len>0) {
str += this.substring(len-1, len);
len--;
}
return str;
}
```
注: å¨ç±»ä¼¼'foo ð bar'è¿ç§astral symbol,å°å±ç¤ºå¼ã
å¯ä»¥ä½¿ç¨[ Esrever](https://github.com/mathiasbynens/esrever) æ¥å¤çè¿ç§ç¹æ®å符çå转ã
### 4.å转DOM
ä¸ä»£ç ï¼
```js
function reverseDom(el){
var frag = document.createDocumentFragment();
while(el.lastChild){
frag.appendChild(el.lastChild);
}
el.appendChild(frag);
}
```
注ï¼è¿ééç¨çæ¯åççDOMæä½ï¼
éç¨documentFragmentçå½¢å¼å½¢æä¸ä¸ªç¼ååºï¼
åéç¨appendChildï¼appendChildæä¸ªç¹ç¹ï¼å¦æè¢«æå
¥çèç¹å·²ç»åå¨äºå½åææ¡£çDOMæ ä¸,åé£ä¸ªèç¹ä¼é¦å
ä»åå
çä½ç½®ç§»é¤,ç¶ååæå
¥å°æ°çä½ç½®ã
å©ç¨è¿ä¸ªç¹ç¹å¯ä»¥å»é¤åå
ä½ç½®çèç¹ï¼åæå
¥æ°çæåºåçèç¹ã
### 5.ç§»é¤éå¤å符
注ï¼é鮿¸
æ¥æ¯å¦å
³æ³¨åæ¯å¤§å°åä¸ç©ºæ ¼é®é¢ã
```js
function removeDuplicateChar(str){
var strArr = str.split('');
var targetArr = [];
strArr.forEach(function(item){
if (strArr.indexOf(item) === strArr.lastIndexOf(item)) {
targetArr.push(item)
}
})
// å»é¤ç©ºæ ¼ï¼åºå大å°å
return targetArr.join('').split(' ').join('');
}
```
### 6.æ¯å¦æ¯ åæ(palindrome)
åæï¼ä»å·¦å°å³è·ä»å³å°å·¦æ¯ä¸æ ·çã
Bulid-in Method å
ç½®æ¹æ³
```js
function isPalindrom(str) {
return str === str.split('').reverse().join('');
}
```
åçæ¹æ³ï¼
```js
function isPalindrome(str){
var i, len = str.length;
// åä¸åä¸åä¸åè¿è¡å¯¹æ¯ï¼å¦ææä¸åç就䏿¯
for(i =0; i