成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

前端的十個問題,你知道幾個?

開發 前端
造成變量提升的現象,是因為使用var關鍵字聲明的變量,變量提升的時候,只有聲明在提升,變量賦值并沒有提升,在變量初始化之前訪問該變量,就會返回undefined。使用let或者const聲明變量,就形成暫時性死區,在let或者const聲明變量之前訪問變量會報錯。

01、null和undefined

undefined是全局對象的一個屬性,當一個變量沒有賦值或者訪問一個對象不存在的屬性,這時候都是undefined。

null:表示是一個空對象。在需要釋放一個對象的時候,直接賦值為null即可。

02、箭頭函數

箭頭函數是ES6新增的,簡化函數的定義。箭頭函數沒有自身的this,所以this是從外部獲取的,也就是繼承了外部的執行上下文。

箭頭函數不能作為構造函數,如果通過call()或者apply()調用箭頭函數的時候,不需要綁定this,直接傳入參數即可。

03、call、apply和bind的作用

bind、call和apply都是改變函數this的指向。 bind在改變this的時候,返回的是一個改變執行上下文的函數,不會立即執行。 call和apply在改變this指向同時也執行該函數。 bind只有一個參數,call和apply可接收多個參數,第一個參數是this的指向。apply的第二參數是一個數組。

04、函數的this

this是函數的執行上下文,分為全局執行上下文和函數執行上下文。

this在嚴格模式下,指向的是undefined,非嚴格模式下默認指向window。

函數的this,在函數被調用的時候,指向的是函數的調用者,也就是誰調用,就指向誰。

如果通過new 構造函數創建一個新的對象,那么構造函數的中的this指向新對象本身。

普通函數不繼承this,箭頭函數沒有this,它是繼承外部的this。

05、變量提升

變量提升是指js的變量和函數在編譯的時候提升到最前面。

造成變量提升的現象,是因為使用var關鍵字聲明的變量,變量提升的時候,只有聲明在提升,變量賦值并沒有提升,在變量初始化之前訪問該變量,就會返回undefined。使用let或者const聲明變量,就形成暫時性死區,在let或者const聲明變量之前訪問變量會報錯。

06、map和forEach的區別

map有返回值,可以開辟新的空間,return返回一個長度和原數組長度一樣的新數組。

forEach函數沒有返回值,返回的undefined。

map的處理速度比forEach快,返回新數組,這樣方便鏈式調用其他數組方法,比如filter、reduce等等。

07、怎么理解事件循環、微任務和宏任務

瀏覽器的事件循環是執行js代碼的時候,遇見同步任務,直接推進調用棧中執行,遇到異步任務時候,將異步任務掛起,等到異步任務有返回之后再推到任務隊列中。

當調用棧中所有的同步任務執行完成,將任務隊列中的任務按照順序執行。重復執行這一系列的行為就是事件循環。

異步任務又分為宏任務和微任務。宏任務就是任務隊列中的任務,每一個宏任務中包含一個微任務隊列;

微任務:就是等宏任務中的主要功能執行完成后,渲染引擎并沒有立即執行下一個宏任務,而是執行當前宏任務中的微任務。

宏任務包含:script標簽內的代碼、定時器、Ajax請求

微任務:Promise

08、跨站點請求偽造CSRF

攻擊者盜用用戶的身份,以用戶的身份發起惡意請求。但是對于服務器來說,這個請求是合理的。

預防CSR攻擊方法:

  1. 使用驗證碼,強烈要求用戶和應用進行交互
  2. 在http中referer字段,檢查是否是從正確的域名訪問過來,它記錄了http請求的來源地址
  3. 使用token驗證,在http請求頭中添加token字段,在服務器端設置一個攔截器來驗證token,如果token無效,那么拒絕訪問

09、XSS攻擊

XSS攻擊是腳本攻擊,攻擊者通過向web頁面插入script代碼,在用戶瀏覽這個頁面時候,執行script的腳本代碼,達到攻擊的目的。

預防:對數據進行嚴格的輸出編碼,比如URL編碼、css編碼、JavaScript編碼。

10、瀏覽器如何渲染頁面的

瀏覽器從服務器獲取到html后,將html轉化為DOM樹,再將css樣式轉化為對應的stylesheet,根據DOM樹和stylesheet繪制成頁面。

責任編輯:武曉燕 來源: 讀心悅
相關推薦

2024-09-30 10:05:00

2023-10-30 18:00:00

Docker命令開源平臺

2023-08-29 07:52:09

CSS庫網絡動畫

2023-04-10 11:25:29

工程交流DX

2021-02-27 17:13:21

前端代碼邏輯

2015-09-20 16:23:27

2020-03-25 10:27:59

Python語言

2021-09-15 09:20:37

Python函數代碼

2021-11-19 16:54:11

Python代碼開發

2010-08-23 09:20:11

Linux命令

2022-01-05 11:40:36

Go特性語言

2022-10-20 15:12:43

JavaScript技巧開發

2023-10-10 08:33:40

編程范式命令式編程

2019-07-05 07:49:19

TCPIP網絡協議

2023-03-31 08:10:50

2019-04-01 06:37:12

R語言數據分析數據

2025-03-19 09:46:45

2024-09-11 16:21:09

2023-12-23 11:15:25

2024-06-05 13:51:37

點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 国产一区二区三区四区在线观看 | 黑人精品xxx一区一二区 | 手机看片169 | 成人免费视频网站在线看 | 国产精品美女久久久 | 欧美一区二区三区在线 | 免费激情网站 | 亚州精品成人 | 国产精品视频综合 | 在线伊人| 羞羞视频在线网站观看 | 九九久久精品 | 亚洲欧美中文日韩在线v日本 | 日韩靠逼 | 日韩欧美1区2区 | 欧美日韩一区在线播放 | 99久久免费精品视频 | 日韩在线免费观看视频 | 国产清纯白嫩初高生在线播放视频 | 高清18麻豆 | 日韩欧美国产成人一区二区 | 国产欧美一区二区三区在线看 | 男人天堂99| 另类二区 | 欧美九九九 | 国产精品久久久久久亚洲调教 | 成人性生交大片 | 亚洲日韩中文字幕一区 | 欧美日韩综合一区 | 在线观看日韩av | 亚洲欧美久久 | 国产成人高清 | 97视频成人| 欧美国产日韩一区二区三区 | 人成在线 | 中文字幕在线三区 | 日韩在线一区二区三区 | 亚洲欧美中文日韩在线v日本 | 国产美女黄色片 | 欧美一区二区三区视频在线播放 | 精品一区二区三区不卡 |