前端面試題大雜燴(二)

2021-09-20 07:20:49 字數 2154 閱讀 4208

1、插入排序

function insertsort(arr) 

arr[pre_index + 1] = current; //確定位置後,賦值

}return arr;

}

2、快速排序

function quicksort(arr) else 

}return quicksort(left).concat(middle, quicksort(right)) // 遞迴並連線

}

3、二分查詢(遞迴和非遞迴)

//非遞迴

function bianrysearch(arr,key)else

}return -1;

}//遞迴

function bianrysearch(arr,left,right,key)else

}

4、鍊錶反轉

1、鍊錶反轉可以一次查詢鍊錶儲存到陣列中,然後陣列取反操作

2、(c)1 -> 2 -> 3 -> 4 -> 5

function reservelist(listnode head)

}return head; //返回反轉後的頭指標

}

5、命名方式的轉換

1、dom_abc => domabc

const str = 'dom_one'

const reg = /\_(\w)/g;

//all第乙個引數代表匹配的全部(_o),第二個引數是匹配的下乙個(o)

const str1 = str.replace(reg,(all,letter)=>)

console.log(str1) //domone

//還有一種方法是split('_')分割後,儲存到陣列中,然後遍歷

2、domabc => dom_abc

function toline(name)

6、實現bind方法

function.prototype.bind2 = function(context) ;

}

7、分析列印結果

function fun(n,o) 

} }

var a = fun(0); //undefined

a.fun(1);//1

a.fun(2);//2

a.fun(3);//3

8、變數提公升和函式提公升問題

函式提公升優先順序高於變數提公升,其中函式提公升前提是不能宣告為函式表示式:var fun = function(){},且函式提公升不會被變數提公升覆蓋,可以被變數宣告可以覆蓋。

console.log(a)   //列印函式a 

function a()

console.log(a) //列印函式a

var a = 10;

console.log(a); //10

var b = 20;

var b; //若重複宣告的語句無初始值,那麼不會對原先變數有任何影響

console.log(b) //20

if(!(c in window))

console.log(c) //undefined

9、查詢字串出現的次數

let arr = ;

let n = 0;

while(str.indexof(target_str,n) != -1 && n

10、不借助輔助空間,找出陣列中不重複的元素

// [0,0,1,1,1,2,3,4,5]   

let i = 0,j=0;

for(i = 0;iif(j==arr.length) console.log(arr[i]) //3 4 5

}

前端面試題(二)

一 h5儲存型別有什麼區別 localstorage 沒有時間限制的資料儲存,資料永遠不會過期,關閉瀏覽器也不會丟失 sessionstorage 針對session的乙個資料儲存,針對同乙個會話頁面中才能訪問,並且結束後,會話才能銷毀。限於視窗 cookie 單個cookie大小不能超過4kb,有...

前端面試題

sprites是什麼和為什麼要使用他們?css 精靈 把一堆小的整合到一張大的上,減輕伺服器對的請求數量 有可能替代sprites的方法是什麼?svg圖示,字型圖示,字元編碼等等。1 在div排版的時候,假設現在是100px的寬,我在盒子左側用padding left留個10px的白,div就撐開了...

前端面試題

行內元素有哪些?塊級元素有哪些?空 void 元素有哪些?link和 import的區別是?常見相容性問題?含移動端 html5的離線儲存?描寫一段語義化的html 吧 html5的form如何關閉自動完成功能?什麼是閉包 closure 為什麼要用?localstorage和sessionstor...