日韩成人免费在线_国产成人一二_精品国产免费人成电影在线观..._日本一区二区三区久久久久久久久不

當前位置:首頁 > 科技  > 軟件

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

來源: 責編: 時間:2023-12-15 17:17:00 254觀看
導讀01、null和undefinedundefined是全局對象的一個屬性,當一個變量沒有賦值或者訪問一個對象不存在的屬性,這時候都是undefined。null:表示是一個空對象。在需要釋放一個對象的時候,直接賦值為null即可。02、箭頭函數箭頭函

01、null和undefined

undefined是全局對象的一個屬性,當一個變量沒有賦值或者訪問一個對象不存在的屬性,這時候都是undefined。9Dn28資訊網——每日最新資訊28at.com

null:表示是一個空對象。在需要釋放一個對象的時候,直接賦值為null即可。9Dn28資訊網——每日最新資訊28at.com

02、箭頭函數

箭頭函數是ES6新增的,簡化函數的定義。箭頭函數沒有自身的this,所以this是從外部獲取的,也就是繼承了外部的執行上下文。9Dn28資訊網——每日最新資訊28at.com

箭頭函數不能作為構造函數,如果通過call()或者apply()調用箭頭函數的時候,不需要綁定this,直接傳入參數即可。9Dn28資訊網——每日最新資訊28at.com

03、call、apply和bind的作用

bind、call和apply都是改變函數this的指向。 bind在改變this的時候,返回的是一個改變執行上下文的函數,不會立即執行。 call和apply在改變this指向同時也執行該函數。 bind只有一個參數,call和apply可接收多個參數,第一個參數是this的指向。apply的第二參數是一個數組。9Dn28資訊網——每日最新資訊28at.com

04、函數的this

this是函數的執行上下文,分為全局執行上下文和函數執行上下文。9Dn28資訊網——每日最新資訊28at.com

this在嚴格模式下,指向的是undefined,非嚴格模式下默認指向window。9Dn28資訊網——每日最新資訊28at.com

函數的this,在函數被調用的時候,指向的是函數的調用者,也就是誰調用,就指向誰。9Dn28資訊網——每日最新資訊28at.com

如果通過new 構造函數創建一個新的對象,那么構造函數的中的this指向新對象本身。9Dn28資訊網——每日最新資訊28at.com

普通函數不繼承this,箭頭函數沒有this,它是繼承外部的this。9Dn28資訊網——每日最新資訊28at.com

05、變量提升

變量提升是指js的變量和函數在編譯的時候提升到最前面。9Dn28資訊網——每日最新資訊28at.com

造成變量提升的現象,是因為使用var關鍵字聲明的變量,變量提升的時候,只有聲明在提升,變量賦值并沒有提升,在變量初始化之前訪問該變量,就會返回undefined。使用let或者const聲明變量,就形成暫時性死區,在let或者const聲明變量之前訪問變量會報錯。9Dn28資訊網——每日最新資訊28at.com

06、map和forEach的區別

map有返回值,可以開辟新的空間,return返回一個長度和原數組長度一樣的新數組。9Dn28資訊網——每日最新資訊28at.com

forEach函數沒有返回值,返回的undefined。9Dn28資訊網——每日最新資訊28at.com

map的處理速度比forEach快,返回新數組,這樣方便鏈式調用其他數組方法,比如filter、reduce等等。9Dn28資訊網——每日最新資訊28at.com

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

瀏覽器的事件循環是執行js代碼的時候,遇見同步任務,直接推進調用棧中執行,遇到異步任務時候,將異步任務掛起,等到異步任務有返回之后再推到任務隊列中。9Dn28資訊網——每日最新資訊28at.com

當調用棧中所有的同步任務執行完成,將任務隊列中的任務按照順序執行。重復執行這一系列的行為就是事件循環。9Dn28資訊網——每日最新資訊28at.com

異步任務又分為宏任務和微任務。宏任務就是任務隊列中的任務,每一個宏任務中包含一個微任務隊列;9Dn28資訊網——每日最新資訊28at.com

微任務:就是等宏任務中的主要功能執行完成后,渲染引擎并沒有立即執行下一個宏任務,而是執行當前宏任務中的微任務。9Dn28資訊網——每日最新資訊28at.com

宏任務包含:script標簽內的代碼、定時器、Ajax請求9Dn28資訊網——每日最新資訊28at.com

微任務:Promise9Dn28資訊網——每日最新資訊28at.com

08、跨站點請求偽造CSRF

攻擊者盜用用戶的身份,以用戶的身份發起惡意請求。但是對于服務器來說,這個請求是合理的。9Dn28資訊網——每日最新資訊28at.com

預防CSR攻擊方法:9Dn28資訊網——每日最新資訊28at.com

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

09、XSS攻擊

XSS攻擊是腳本攻擊,攻擊者通過向web頁面插入script代碼,在用戶瀏覽這個頁面時候,執行script的腳本代碼,達到攻擊的目的。9Dn28資訊網——每日最新資訊28at.com

預防:對數據進行嚴格的輸出編碼,比如URL編碼、css編碼、JavaScript編碼。9Dn28資訊網——每日最新資訊28at.com

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

瀏覽器從服務器獲取到html后,將html轉化為DOM樹,再將css樣式轉化為對應的stylesheet,根據DOM樹和stylesheet繪制成頁面。9Dn28資訊網——每日最新資訊28at.com

本文鏈接:http://www.www897cc.com/showinfo-26-46467-0.html前端的十個問題,你知道幾個?

聲明:本網頁內容旨在傳播知識,若有侵權等問題請及時與本網聯系,我們將在第一時間刪除處理。郵件:2376512515@qq.com

上一篇: 解鎖RocketMQ秘籍:如何保障消息順序性?

下一篇: Python字符串的匹配算法

標簽:
  • 熱門焦點
  • K60至尊版剛預熱 一加Ace2 Pro正面硬剛

    Redmi這邊剛如火如荼的宣傳了K60 Ultra的各種技術和硬件配置,作為競品的一加也坐不住了。一加中國區總裁李杰發布了兩條微博,表示在自家的一加Ace2上早就已經采用了和PixelWo
  • 一文搞定Java NIO,以及各種奇葩流

    大家好,我是哪吒。很多朋友問我,如何才能學好IO流,對各種流的概念,云里霧里的,不求甚解。用到的時候,現百度,功能雖然實現了,但是為什么用這個?不知道。更別說效率問題了~下次再遇到,
  • 為什么你不應該使用Div作為可點擊元素

    按鈕是為任何網絡應用程序提供交互性的最常見方式。但我們經常傾向于使用其他HTML元素,如 div span 等作為 clickable 元素。但通過這樣做,我們錯過了許多內置瀏覽器的功能。
  • 每天一道面試題-CPU偽共享

    前言:了不起:又到了每天一到面試題的時候了!學弟,最近學習的怎么樣啊 了不起學弟:最近學習的還不錯,每天都在學習,每天都在進步! 了不起:那你最近學習的什么呢? 了不起學弟:最近在學習C
  • 破圈是B站頭上的緊箍咒

    來源 | 光子星球撰文 | 吳坤諺編輯 | 吳先之每年的暑期檔都少不了瞄準追劇女孩們的古偶劇集,2021年有優酷的《山河令》,2022年有愛奇藝的《蒼蘭訣》,今年卻輪到小破站抓住了追
  • 信通院:小米、華為等11家應用商店基本完成APP簽名及驗簽工作

    中國信通院表示,目前,小米、華為、OPPO、vivo、360手機助手、百度手機助手、應用寶、豌豆莢和努比亞等9家應用商店,以及抖音和快手2家新型應用分發平
  • 四年持續更迭堅持探索行業無人之境,HarmonyOS 4帶來五大升級多項創新

    除了華為每年新發布的旗艦手機系列,上億花粉更加期待鴻蒙系統每次的跨版本大更新。8月4日,HarmonyOS 4于HDC 2023正式發布,這也是該系統歷經四年的再
  • iQOO 11S新品發布會

    iQOO將在7月4日19:00舉行新品發布會,推出杭州亞運會電競賽事官方用機iQOO 11S。
  • 北京:科技教育體驗基地開始登記

      北京“科技館之城”科技教育體驗基地登記和認證工作日前啟動。首批北京科技教育體驗基地擬于2023年全國科普日期間掛牌,后續還將開展常態化登記。  北京科技教育體驗基
Top 主站蜘蛛池模板: 巴楚县| 平顶山市| 张家界市| 商水县| 江油市| 合水县| 鹤岗市| 湘潭市| 沽源县| 屯昌县| 南昌县| 甘南县| 凤城市| 沁阳市| 神池县| 彭阳县| 湾仔区| 元朗区| 米脂县| 开鲁县| 衡阳市| 综艺| 扎兰屯市| 浦县| 刚察县| 安宁市| 涞源县| 宁乡县| 休宁县| 安新县| 诸暨市| 太白县| 平罗县| 通辽市| 珠海市| 遂宁市| 大邑县| 仪陇县| 东明县| 东丽区| 清水县|