不會前端的小伙伴們,快來記上筆記!!!

前端知識點總結

基礎類:

? 1、數據類型的轉換和比較。 (+2)?數據類型轉換

? +true; //1 ,一元加號會嘗試將?boolean?類型轉換為數字類型。?true?被轉換為?1?,?false?被轉換為?0?。

? !"Lydia"; //false

1、函數傳參

對象類型是引用傳遞

function person(per){

? ? ??per.name = 'haha';

? ? ? ?per.age = 3;

? ? ? ?console.log(per)

}

person({name:"www", age: 2})

// {name: "haha", age: 3}

2、Object.is()和==,===的區別

Object.is方法在===的基礎上增加了NaN和NaN是相等的;+0和-0是不相等的

延伸:==?隱式轉換?規則;?運算符的優先級?;?(+1)

+0 === -0 //true

+0 === -'0' //true

+1 === -'1' //false

Object.is(+0, -0) //false

2、閉包題。?https://segmentfault.com/a/11...

3、事件委托。?https://segmentfault.com/a/11...

3、http協議狀態碼,301和302的區別,304緩存類型,強緩存和協商緩存的區別。

常見的狀態碼有200,301,302,304,400,404,401,500,502

其中以2開頭的代表請求成功,

以3開頭的是重定向,其中301是永久重定向,302是臨時重定向,

強緩存和協商緩存[緩存](https://mp.weixin.qq.com/s/dnEbgNnu7rL9i2V_Zjjnyw)**(+3)**

4、js運行機制。?js運行機制?(+2)

5、es6用過哪些。promise的實現原理(+1),all方法(+2)。

Promise.all = function(arr){

? ? ? ? ? let result = [], count = 0;

? ? ? ? ? return new Promise(function(resolve, reject){

? ? ? ? ? ? ? ? ?for(let item of arr){

? ? ? ? ? ? ? ? ? ? ?item.then(res=>{

? ? ? ? ? ? ? ? ? ? ? ? ? ? result[count] = res;

? ? ? ? ? ? ? ? ? ? ? ? ? ? count++;

? ? ? ? ? ? ? ? ? ? ? ? ? ? if(count === arr.length){

? ? ? ? ? ? ? ? ? ? ? ? ? ? ? resolve(result);

? ? ? ? ? ? ? ? ? ? ? ? ? }

? ? ? ? ? ? ? ? ? ? ? })

? ? ? ? ? ? ? ? ? };

? ? ? ? ? ? });

};??

let promise1 = new Promise(function(resolve) {

? ?resolve(1);

});

let promise2 = new Promise(function(resolve) {

? ?resolve(2);

});

let promise3 = new Promise(function(resolve) {

? resolve(3);

});

let promiseAll = Promise.all([promise1, promise2, promise3]);

promiseAll.then(function(res) {

? ?console.log(res);?

});?

Promise.all = function(arr){

? ? ? ? let result = [], count = 0;

? ? ? ? return new Promise(function(resolve, reject){

?? ? ? ? ? ? ? ?arr.map(item=>{

? ? ? ? ? ? ? ? ? ? item.then(res=>{

? ? ? ? ? ? ? ? ? ? ? ? ? ?result[count] = res;

? ? ? ? ? ? ? ? ? ? ? ? ? ?count++;

? ? ? ? ? ? ? ? ? ? ? ? ? ?(count === arr.length) && resolve(result);

? ? ? ? ? ? ? ? ? ? ? ?}).catch(err=>{

? ? ? ? ? ? ? ? ? ? ? ? ? ?result[count] = err;

? ? ? ? ? ? ? ? ? ? ? ? ? ?count++;

? ? ? ? ? ? ? ? ? ? ? ? ? (count === arr.length) && resolve(result);

? ? ? ? ? ? ? ? ? ? ? ?});

? ? ? ? ? ? ? ? ? ?});

? ? ? ? ? ?});

};

var p1 = new Promise(function(resolve, reject){reject(1)})

var p2 = new Promise(function(resolve, reject){resolve(2)})

Promise.all([p1, p2]).then(res=>{

? ? ? ? ?console.log(res)

})

let,const,var聲明變量的作用域不同;變量提升;(+1)

? ? ?變量的賦值可以分為三個階段:

1、創建變量,在內存中開辟空間

2、初始化變量,將變量初始化為undefined(let和const聲明的初始化時不會分配內存,所以會存在暫時性死區)

3、真正賦值

? let,const,var的區別?(+1)

作用域概念不同;?變量提升(+1)

es6數組常用的api?(+1)

set,map,剪頭函數和普通函數的區別?(+1)

map遍歷相對于其他遍歷方式的優點?(+1)

class

模板字符串:標簽模板

await和async的使用?(+1)

promise.all的實現?(+2)

6、isNaN和Number.isNaN的?區別?。

isNaN會有一個轉換,能夠轉換為數字類型的都返回false,

Number.isNaN是嚴格判斷是否為NaN

6、數組的flat扁平化方法。

返回一個新數組對原數組沒有影響,默認扁平化一級

6、正則(獲取url參數等)。

7、純函數 (+1)

7、數據類型的判斷?(+1)

7、instanceof的實現原理?(+1)

7、手寫new的實現?(+2)

7、手寫call和apply的實現(+1)

7、defer和async的區別?(+1)

7、js監聽對象屬性的改變具體是怎么實現的,它們各自有什么特點??(+1)

7、移動端適配;sass,less的優點;移動端幾倍圖是根據什么來定義的?(+1)

7、css布局,flex布局方式?(+1)

7、實現正方形?(+2)

7、五種以上居中方式?居中?(+1)

7、瀏覽器如何解析css選擇器


7、css樣式沖突的解決方案,scoped的實現原理

7、css選擇器的優先級(+1)

框架應用類:

1、?防抖節流?;?(+3)

防抖可應用于阻止重復發送請求,一段時間內重復觸發的話則會重新計算時間,只會執行最后一次;

節流是只認第一次的操作,在某一時間段內不管觸發多少次,只執行第一次函數的回調;

2、vue雙向數據綁定的實現。(+2)

defineProperty——>

2、computed和watch的區別。(+2)

3、vue中key的作用是什么??(+2)

——>diff算法——>重繪和回流(重排)

重繪回流(+1)

3、vue生命周期?(+1)

3、webpack相關。

優化(配置優化,代碼優化)?(+2)

webpack熱更新原理?(+1)

chunk和baundle的區別?(+1)

壓縮插件的弊端?(+1)

4、axios和ajax的區別,fetch的區別,優勢。

5、?跨域方法?。

思路:說到跨域先了解同源策略——>常見的跨域場景——>解決方案

6、組件化

組件可復用性

7、設計模式;

常用的設計模式以及解決了什么問題

8、cdn

8、node的了解

9、vue和react的設計理念,react的簡單了解

9、輸入url到頁面渲染發生了什么(+1)

9、性能優化(+1)

9、性能監控(+1)

9、http協議相關(+1)

9、export和export default,moudle.export的區別(+1)

9、內存泄露(+1)

算法類:

1、數組去重,考慮優化,盡量用最優的算法實現。?數組去重方法

for(var i = 0, len = arr.length; i < len; i++){

? ? ? for(var j = i+1, lenj = arr.length; j < lenj; j++){

? ? ? ? ? ? ?if(arr[i] == arr[j]){

? ? ? ? ? ? ? ? arr.splice(j, 1);

? ? ? ? ? ? ? ? j--;

? ? ? ? ? ? ? ?lenj--;

? ? ? ? ? ? ? ?i--;

? ? ? ? ? ? ? ?len--;

? ? ? ? ?}

? ??}

}

var obj = {};

for(var i = 0, len = arr.length; i < len; i++){

? ? ? if(!obj[arr[i]]){

? ? ? ? ?obj[arr[i]] = arr[i];

? ? ?}

}

console.log(Object.values(obj))

利用indexOf

2、尋找數組中第k大值。

2、判斷字符串同構。

3排序,二叉樹遍歷(中序?(+1)?,后序,前序)。

3、微信紅包算法。

想持續了解更多,不妨點贊和關注唄。

Web前端技術交流q群:1137068794,

群里可以一起學習編程,進群能領到學習資料以及源代碼

?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市,隨后出現的幾起案子,更是在濱河造成了極大的恐慌,老刑警劉巖,帶你破解...
    沈念sama閱讀 230,622評論 6 544
  • 序言:濱河連續發生了三起死亡事件,死亡現場離奇詭異,居然都是意外死亡,警方通過查閱死者的電腦和手機,發現死者居然都...
    沈念sama閱讀 99,716評論 3 429
  • 文/潘曉璐 我一進店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人,你說我怎么就攤上這事。” “怎么了?”我有些...
    開封第一講書人閱讀 178,746評論 0 383
  • 文/不壞的土叔 我叫張陵,是天一觀的道長。 經常有香客問我,道長,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 63,991評論 1 318
  • 正文 為了忘掉前任,我火速辦了婚禮,結果婚禮上,老公的妹妹穿的比我還像新娘。我一直安慰自己,他們只是感情好,可當我...
    茶點故事閱讀 72,706評論 6 413
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著,像睡著了一般。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發上,一...
    開封第一講書人閱讀 56,036評論 1 329
  • 那天,我揣著相機與錄音,去河邊找鬼。 笑死,一個胖子當著我的面吹牛,可吹牛的內容都是我干的。 我是一名探鬼主播,決...
    沈念sama閱讀 44,029評論 3 450
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了?” 一聲冷哼從身側響起,我...
    開封第一講書人閱讀 43,203評論 0 290
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后,有當地人在樹林里發現了一具尸體,經...
    沈念sama閱讀 49,725評論 1 336
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內容為張勛視角 年9月15日...
    茶點故事閱讀 41,451評論 3 361
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發現自己被綠了。 大學時的朋友給我發了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 43,677評論 1 374
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖,靈堂內的尸體忽然破棺而出,到底是詐尸還是另有隱情,我是刑警寧澤,帶...
    沈念sama閱讀 39,161評論 5 365
  • 正文 年R本政府宣布,位于F島的核電站,受9級特大地震影響,放射性物質發生泄漏。R本人自食惡果不足惜,卻給世界環境...
    茶點故事閱讀 44,857評論 3 351
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧,春花似錦、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 35,266評論 0 28
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至,卻和暖如春,著一層夾襖步出監牢的瞬間,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 36,606評論 1 295
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人。 一個月前我還...
    沈念sama閱讀 52,407評論 3 400
  • 正文 我出身青樓,卻偏偏與公主長得像,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當晚...
    茶點故事閱讀 48,643評論 2 380