gmnon.cn-疯狂蹂躏欧美一区二区精品,欧美精品久久久久a,高清在线视频日韩欧美,日韩免费av一区二区

站長資訊網
最全最豐富的資訊網站

看看這些前端面試題,帶你搞定高頻知識點(六)

看看這些前端面試題,帶你搞定高頻知識點(六)

每天10道題,100天后,搞定所有前端面試的高頻知識點,加油!??!,在看文章的同時,希望不要直接看答案,先思考一下自己會不會,如果會,自己的答案是什么?想過之后再與答案比對,是不是會更好一點,當然如果你有比我更好的答案,歡迎評論區留言,一起探討技術之美。

面試官:請你簡述 var、let、const 三者之間的區別?

我:呃~,好的,三者的作用區別總結如下:

var:最常用的變量;允許重復聲明,但會導致數據被覆蓋;會產生變量提升;局部變量掛載到全局對象上,會造成全局對象的污染。

console.log(a) // 因變量提升, var a;提到前面但是沒有賦值,所以值為undefined var a = 1 var a = '你好' // var聲明的變量會被重新賦值 console.log(a) // a會打印被重新賦值的值 console.log(window.a) // var聲明的局部變量會被掛載到全局變量上,造成全局變量的污染。
登錄后復制

let:es6新增命令,用法類似var;不允許重復聲明;不存在變量提升;常作用于塊級作用域而避免局部變量造成全局變量的污染。

let a=10; console.log(a) // 不存在變量提升,所以值為:10 console.log(window.a) // 不會造成全局污染,所以值為 undefined for(let i =0;i<3;i++){ // 會生成塊級作用域,i 的值只能在塊級作用域中使用     console.log(i) } console.log(i) // 因為拿不到塊級作用域中的值,所以報錯。
登錄后復制

const:es6新增命令,用于聲明常量且值無法被修改;聲明常量必須立刻初始化,否則后期賦值報錯;不能重復聲明;const指向變量的地址, 只要變量名所引用的地址不變就不會報錯

const arr = ['小張','小王','小李','小趙'] arr[0]='小明' console.log(arr) // ['小明', '小王', '小李', '小趙'] const arr = [] // 報錯
登錄后復制

面試官:請你談談對深拷貝與淺拷貝的理解

我:呃~,好的,對兩者的理解總結如下:

深拷貝:新數據與原數據互不打擾。

// 擴展運算符在一維數組中是屬于深拷貝,在多維數組中屬于淺拷貝 let arr = [1,2,3] let newArr = [...arr] newArr.push(4) console.log(arr,newArr) // [1, 2, 3],[1, 2, 3, 4]  // 深拷貝用法 let list = [     {id:1,name:'張三',age:18},     {id:2,name:'李四',age:28},     {id:3,name:'王五',age:38}, ] let newList = JSON.parse(JSON.stringify(list)) newList.pop() console.log(list.length,newList.length) // 3 2
登錄后復制

當然,深拷貝也有一種標準寫法,如下:

// 標準的深拷貝 => 引用數據類型(數組,對象) function deepClone(source){     const targetObj = source.constructor === Array ? [] : {}     for(let keys in source){         if(source.hasOwnProperty(keys)){             // 引用數據類型             if(source[keys] && typeof source[keys] === 'object'){                 targetObj[keys] = source[keys].constructor === Array ? [] : {}                 // 遞歸                 targetObj[keys] = deepClone(source[keys])             }else{                 // 基本數據類型,直接賦值                 targetObj[keys] = source[keys]             }         }     }     return targetObj }  let obj = {     name:'張三',     age:18,     hobby:['抽煙','喝酒','燙頭'],     action:{         am:'敲代碼',         pm:'睡覺'     } } let newObj = deepClone(obj) newObj.name = '李四' console.log(obj.name,newObj.name)// 張三 李四
登錄后復制

淺拷貝:新數據會影響原數據。

let arr = [1,2,3] let newArr = arr // 對新數據做出改變,原數據也會發生改變,這種就叫做淺拷貝 newArr.push(4) // [1, 2, 3, 4] console.log(arr,newArr) // [1, 2, 3, 4]
登錄后復制

說白了,深拷貝是重新獲得一個新的數據,且和原來的數據沒有任何關系;淺拷貝雖然能得到一個新的數據,但是和原來的數據仍有一定的聯系。

面試官:輸入URL的那一瞬間瀏覽器做了什么?

我:呃~,URL是由以下幾部分組成

https: 傳輸協議(http和tcp之間加了一層 TSL 或者 SSL 的安全層)

www:服務器

baidu.com:域名

DNS域名系統會匹配真實的IP,第一次訪問正常,第二次訪問會將域名解析的IP存在本地用來讀取瀏覽器緩存。

輸入URL的那一刻經歷了:域名 -> DNS域名系統 -> 拿到真實IP -> 建立連接(TCP的三次握手) -> 拿數據,渲染頁面 -> 四次揮手

具體實現過程

  • 1. url解析:判斷是搜索內容還是請求URL

  • 2. 查找本地緩存:如果有緩存直接返回給頁面,沒有緩存則進入網絡請求階段

  • 3. DNS解析

  • 4. 通過三次握手建立TCP連接

  • 5. 合成請求頭信息,發送http請求

  • 6. 處理響應信息

  • 7. 通過四次揮手斷開TCP連接

  • 8. 如果響應狀態碼301,則重定向

  • 9. 瀏覽器進行頁面渲染:1)解析html,生成DOM樹;2)根據css計算節點樣式,生成stylesheet;3)生成布局樹;4)為特定的元素生成獨立圖層

面試官:說一說cookie sessionStorage localStorage 區別?

我:呃~,好的,他們之間的關系如下:

相同點

都是瀏覽器存儲,都存儲在瀏覽器本地。

區別

  • 1.cookie由服務器或前端寫入, sessionStorage以及localStorage都是由前端寫入

  • 2.cookie的生命周期由服務器端寫入時就設置好的,localStorage是寫入就一直存在,除非手動清除,sessionStorage是由頁面關閉時自動清除

  • 3.cookie存儲空間大小約4kb, sessionStorage及localStorage空間比較大,大約5M

  • 4.3者的數據共享都遵循同源原則,sessionStorage還限制必須是同一個頁面

  • 5.前端給后端發送請求時,自動攜帶cookie, session 及 local都不攜帶

  • 6.cookie一般存儲登錄驗證信息或者token,localStorage常用于存儲不易變動的數據,減輕服務器壓力,sessionStorage可以用來監測用戶是否是刷新進入頁面,如音樂播放器恢復進度條功能

面試官:說一說JS數據類型有哪些,區別是什么?

我:呃~,JS數據類型分為兩類:一類是基本數據類型,另一類是引用數據類型,如下:

  • 基本類型:string、number、boolean、null、undefined、symbol、bigInt

  • 引用類型: object、array

基本類型存儲在棧中,空間小,操作頻繁

引用類型存儲在堆中,空間大,在棧中存儲了指針,指向在堆中的起始地址

注意:Symbol具有唯一性, 不可枚舉 使用getOwnPropertySymbols獲取

面試官:說一說你對閉包的理解?

我:呃~,內層函數引用外層函數中變量,這些變量的集合就是閉包。

  • 形成的原理:作用域鏈,當前作用域可以訪問上級作用域中的變量。

  • 解決的問題:能夠讓函數作用域中的變量在函數執行結束之后不被銷毀,同時也能在函數外部可以訪問函數內部的局部變量。

  • 帶來的問題:由于垃圾回收器不會將閉包中變量銷毀,于是就造成了內存泄露,內存泄露積累多了就容易導致內存溢出。

  • 閉包的應用,能夠模仿塊級作用域,能夠實現柯里化,在構造函數中定義特權方法、Vue中數據響應式Observer中使用閉包等。

面試官:說一說JavaScript有幾種方法判斷變量的類型?

我:呃~,好的,總結如下:

1. typeof(根據二進制判斷),不能判斷數據類型:null和object

2. intanceof(根據原型鏈判斷),原生數據類型不能判斷

3. constructor.name(根據構造器判斷),不能判斷null數據類型

4. Object.prototype.toString.call()(用Object的toString方法判斷)所有類型數據都能判斷,記住判斷結果打印為:'[object Xxx]'

面試官:說一說null 和 undefined 的區別,如何讓一個屬性變為null

我:呃~,null 是定義 并賦值null undefined是定義未賦值。

面試官:說一下有什么方法可以保持前后端實時通信?

我:呃~,輪詢、長輪詢、 iframe流、WebSocket、SSE。

面試官:說一說偽數組和數組的區別?

我:呃~,好的,總結如下:

偽數組的特點:類型是object、不能使用數組方法、可以獲取長度、可以使用for in遍歷

偽數組可以轉換為數組的方法:Array.prototype.slice.call()、Array.from()、[…偽數組]

哪些是偽數組:函數的參數arguments,Map和Set的keys()、values()和entires()

【推薦學習:javascript高級教程】

贊(0)
分享到: 更多 (0)
網站地圖   滬ICP備18035694號-2    滬公網安備31011702889846號
gmnon.cn-疯狂蹂躏欧美一区二区精品,欧美精品久久久久a,高清在线视频日韩欧美,日韩免费av一区二区
高清无码一区二区在线观看吞精| 日韩av黄色网址| 天天想你在线观看完整版电影免费| 国产 日韩 欧美在线| 亚洲热在线视频| 香蕉视频网站入口| 99精品视频播放| 久久精品免费一区二区| 69sex久久精品国产麻豆| 免费久久久久久| 黄色网址在线免费看| aaaaaaaa毛片| 五月天婷婷在线观看视频| 一区二区三区视频网| 男人的天堂日韩| 九九热在线免费| 在线观看国产福利| 三年中文在线观看免费大全中国| 免费av不卡在线| 国产91av视频在线观看| www.日本久久| 中文字幕人妻熟女人妻洋洋| 成人黄色大片网站| av天堂永久资源网| 中文av一区二区三区| 亚洲午夜精品一区| 日韩不卡视频一区二区| 欧美一级爱爱视频| 人妻夜夜添夜夜无码av| 免费在线a视频| 免费一区二区三区在线观看| 99热这里只有精品7| 亚洲色成人www永久在线观看 | 吴梦梦av在线| 免费网站永久免费观看| 漂亮人妻被中出中文字幕| 99sesese| 国产精品专区在线| 日本黄色福利视频| 国产男女免费视频| 日韩高清在线一区二区| 无码人妻精品一区二区三区在线| 99re精彩视频| 激情综合网婷婷| 在线观看18视频网站| 国产视频一区二区三区在线播放| 爱爱爱视频网站| 欧美成人三级在线播放| 黄色免费福利视频| 91看片淫黄大片91| 亚洲无在线观看| 妓院一钑片免看黄大片| 欧美一级欧美一级| 大桥未久一区二区三区| 无遮挡又爽又刺激的视频| 青青视频免费在线观看| 亚洲综合欧美激情| 国产成人精品无码播放| 国产精品自拍片| 欧美视频在线第一页| 青青草原国产免费| 一区二区免费av| av网站在线不卡| 四虎永久在线精品无码视频| 特级西西人体www高清大胆| 日本在线观看免费视频| 国产综合av在线| 草b视频在线观看| 成人在线观看毛片| 国产制服91一区二区三区制服| 最新国产黄色网址| 日日噜噜噜夜夜爽爽| 成人亚洲免费视频| 亚洲黄色片免费看| 影音先锋男人的网站| 最新av免费在线观看| www.成年人| 干日本少妇视频| 青草全福视在线| 97视频在线免费| 精品视频在线观看一区| 欧美色图色综合| 成人羞羞国产免费网站| 爱情岛论坛亚洲首页入口章节| 欧美成人三级在线播放| 色男人天堂av| 久久久亚洲国产精品| 能在线观看的av| 国产三级三级看三级| 午夜激情视频网| 日本国产在线播放| 免费一级特黄录像| 三年中文高清在线观看第6集| 国产免费xxx| 凹凸国产熟女精品视频| 国产精品区在线| 蜜桃网站在线观看| 久久久免费视频网站| 中文字幕久久av| 成年人看的毛片| 亚洲天堂一区二区在线观看| 玩弄中年熟妇正在播放| 日本中文字幕高清| 一区二区久久精品| 欧美日韩黄色一级片| 激情黄色小视频| 久久国产乱子伦免费精品| 小说区视频区图片区| 毛片一区二区三区四区| 伊人成人免费视频| 国产免费成人在线| 国产一区二区四区| 老司机午夜性大片| 国产成人久久777777| 国产一级大片免费看| 人人干人人视频| 欧美亚洲黄色片| 欧美 国产 精品| 亚洲精品高清无码视频| 97免费视频观看| 91麻豆天美传媒在线| 国产精品嫩草影院8vv8| 热久久精品国产| 少妇高潮喷水在线观看| 久久久久久www| 天天干天天色天天爽| 超碰在线公开97| 成人黄色一区二区| 日韩欧美xxxx| 亚洲自偷自拍熟女另类| 人妻久久久一区二区三区| 大片在线观看网站免费收看| 午夜影院免费版| 波多野结衣免费观看| 看看黄色一级片| 亚洲免费av一区二区三区| 欧美两根一起进3p做受视频| 国产午夜大地久久| 欧美午夜小视频| 日本少妇高潮喷水视频| 夫妻免费无码v看片| 日本福利视频在线| 成人免费毛片播放| 日韩精品一区二区三区色欲av| 亚欧无线一线二线三线区别| 国产在线观看欧美| 国产精品久久久久9999爆乳| 无码人妻精品一区二区蜜桃网站| 狠狠噜天天噜日日噜| 无码人妻精品一区二区蜜桃网站| 日本午夜激情视频| avav在线看| 日韩av自拍偷拍| 亚洲精品少妇一区二区| 黄色www网站| 超碰在线公开97| 成年人视频网站免费| 青青草成人免费在线视频| www.国产区| www.久久com| 131美女爱做视频| www.xxx亚洲| 97久久国产亚洲精品超碰热| 久久久久久久中文| 色戒在线免费观看| 免费毛片网站在线观看| 欧美在线aaa| 奇米影视亚洲色图| 欧美丝袜在线观看| 大陆极品少妇内射aaaaa| 一区二区三区四区毛片| 无码 制服 丝袜 国产 另类| 中文字幕 日韩 欧美| 国产a级片网站| 图片区乱熟图片区亚洲| 国产成人精品视频免费看| 福利网在线观看| 中文字幕永久视频| 蜜臀av色欲a片无码精品一区 | 超碰在线资源站| 国自产拍偷拍精品啪啪一区二区| 在线观看免费不卡av| 男人日女人bb视频| 久久这里只有精品8| 成年人三级黄色片| 国产成人久久婷婷精品流白浆| 青少年xxxxx性开放hg| 91国产精品视频在线观看| 日日摸日日碰夜夜爽无码| 亚洲自拍偷拍一区二区三区| 亚洲这里只有精品| 国产精品亚洲二区在线观看| 国产欧美日韩网站| 日本道在线视频| 在线观看中文av| 欧美成人福利在线观看| 小泽玛利亚视频在线观看| 国产一区二区在线免费播放| 国产一区二区三区精彩视频| 欧美 日韩 国产 高清|