五月天堂网_免费看影片_1024手机看毛片_亚洲综合四区_男人的天堂影院_在线亚洲自拍

中培偉業(yè)IT資訊頻道
您現(xiàn)在的位置:首頁 > IT資訊 > 軟件研發(fā) > JavaScript面試時常見的問題有哪些?

JavaScript面試時常見的問題有哪些?

2020-07-06 15:30:05 | 來源:中培企業(yè)IT培訓網(wǎng)

JavaScript作為前端開發(fā)三大要素之一,是前端面試中考察的一大重點。那么JavaScript面試時常見的問題有哪些?本文為大家對JavaScript常見面試題進行了梳理,主要有七個方便:JavaScript的數(shù)據(jù)類型及如何轉換、JavaScript內(nèi)置對象、undefined與undeclared的區(qū)別、{}和[]的valueOf和toString的結果、Javascript的作用域和作用域鏈、Javascript創(chuàng)建對象的方式、Javascript延遲加載的方式。大家可以做一做下面的面試題,進行查漏補缺!

  面試題一、JavaScript的數(shù)據(jù)類型有哪些?數(shù)據(jù)類型如何轉換?

JavaScript一共有8種數(shù)據(jù)類型,其中有7種基本數(shù)據(jù)類型:Undefined、Null、Boolean、Number、String、Symbo和BigInt。在JS中類型轉換只有三種情況,分別是:轉換為布爾值,轉換為數(shù)字以及轉換為字符串。此外還有一些操作符會存在隱式轉換。

  面試題二、介紹一下JavaScript有哪些內(nèi)置對象。

1.值屬性,這些全局屬性返回一個簡單值,這些值沒有自己的屬性和方法。例如:Infinity、NaN、undefined、null字面量。

2.函數(shù)屬性,全局函數(shù)可以直接調(diào)用,不需要在調(diào)用時指定所屬對象,執(zhí)行結束后會將結果直接返回給調(diào)用者。例如:eval()、parseFloat()、parseInt()等。

3.基本對象,基本對象是定義或使用其他對象的基礎。基本對象包括一般對象、函數(shù)對象和錯誤對象。例如:Object、Function、Boolean、Symbol、Error等。

4.數(shù)字和日期對象,用來表示數(shù)字、日期和執(zhí)行數(shù)學計算的對象。例如:Number、Math、Date。

5.字符串,用來表示和操作字符串的對象。例如:String、RegExp。

6.可索引的集合對象,這些對象表示按照索引值來排序的數(shù)據(jù)集合,包括數(shù)組和類型數(shù)組,以及類數(shù)組結構的對象。例如:Array。

7.使用鍵的集合對象,這些集合對象在存儲數(shù)據(jù)時會使用到鍵,支持按照插入順序來迭代元素。例如:Map、Set、WeakMap、WeakSet。

8.矢量集合,SIMD矢量集合中的數(shù)據(jù)會被組織為一個數(shù)據(jù)序列。例如:SIMD等。

9.結構化數(shù)據(jù),這些對象用來表示和操作結構化的緩沖區(qū)數(shù)據(jù),或使用JSON編碼的數(shù)據(jù)。例如JSON等。

10.控制抽象對象。例如:Promise、Generator等。

11.反射。例如:Reflect、Proxy。

12.國際化,為了支持多語言處理而加入ECMAScript的對象。例如:Intl、Intl.Collator等。

13.WebAssembly。

  面試題三、undefined與undeclared的區(qū)別是什么?

已在作用域中聲明但還沒有賦值的變量,是undefined的。相反,還沒有在作用域中聲明過的變量,是undeclared的。對于undeclared變量的引用,瀏覽器會報引用錯誤,如ReferenceError:bisnotdefined。但是我們可以使用typeof的安全防范機制來避免報錯,因為對于undeclared(或者notdefined)變量,typeof會返回"undefined"。

面試題四、{}和[]的valueOf和toString的結果是什么?

{}的valueOf結果為{},toString的結果為"[objectObject]"

[]的valueOf結果為[],toString的結果為""

  面試題五、描述一下Javascript的作用域和作用域鏈。

1.作用域:作用域是定義變量的區(qū)域,它有一套訪問變量的規(guī)則,這套規(guī)則來管理瀏覽器引擎如何在當前作用域以及嵌套的作用域中根據(jù)變量(標識符)進行變量查找。

2.作用域鏈:作用域鏈的作用是保證對執(zhí)行環(huán)境有權訪問的所有變量和函數(shù)的有序訪問,通過作用域鏈,我們可以訪問到外層環(huán)境的變量和函數(shù)。作用域鏈的本質上是一個指向變量對象的指針列表。變量對象是一個包含了執(zhí)行環(huán)境中所有變量和函數(shù)的對象。作用域鏈的前端始終都是當前執(zhí)行上下文的變量對象。全局執(zhí)行上下文的變量對象始終是作用域鏈的最后一個對象。

  面試題六、Javascript創(chuàng)建對象的幾種方式?

1.工廠模式,工廠模式的主要工作原理是用函數(shù)來封裝創(chuàng)建對象的細節(jié),從而通過調(diào)用函數(shù)來達到復用的目的。但是它有一個很大的問題就是創(chuàng)建出來的對象無法和某個類型聯(lián)系起來,它只是簡單的封裝了復用代碼,而沒有建立起對象和類型間的關系。

2.構造函數(shù)模式,Javascript中每一個函數(shù)都可以作為構造函數(shù),只要一個函數(shù)是通過new來調(diào)用的,那么我們就可以把它稱為構造函數(shù)。執(zhí)行構造函數(shù)首先會創(chuàng)建一個對象,然后將對象的原型指向構造函數(shù)的prototype屬性,然后將執(zhí)行上下文中的this指向這個對象,最后再執(zhí)行整個函數(shù),如果返回值不是對象,則返回新建的對象。因為this的值指向了新建的對象,因此我們可以使用this給對象賦值。

3.原型模式,因為每一個函數(shù)都有一個prototype屬性,這個屬性是一個對象,它包含了通過構造函數(shù)創(chuàng)建的所有實例都能共享的屬性和方法。因此我們可以使用原型對象來添加公用屬性和方法,從而實現(xiàn)代碼的復用。這種方式相對于構造函數(shù)模式來說,解決了函數(shù)對象的復用問題。

4.組合使用構造函數(shù)模式和原型模式,這是創(chuàng)建自定義類型的最常見方式。因為構造函數(shù)模式和原型模式分開使用都存在一些問題,因此我們可以組合使用這兩種模式,通過構造函數(shù)來初始化對象的屬性,通過原型對象來實現(xiàn)函數(shù)方法的復用。這種方法很好的解決了兩種模式單獨使用時的缺點,但是有一點不足的就是,因為使用了兩種不同的模式,所以對于代碼的封裝性不夠好。

5.動態(tài)原型模式,這一種模式將原型方法賦值的創(chuàng)建過程移動到了構造函數(shù)的內(nèi)部,通過對屬性是否存在的判斷,可以實現(xiàn)僅在第一次調(diào)用函數(shù)時對原型對象賦值一次的效果。這一種方式很好地對上面的混合模式進行了封裝。

6.寄生構造函數(shù)模式,這一種模式和工廠模式的實現(xiàn)基本相同。它主要是基于一個已有的類型,在實例化時對實例化的對象進行擴展。這樣既不用修改原來的構造函數(shù),也達到了擴展對象的目的。它的一個缺點和工廠模式一樣,無法實現(xiàn)對象的識別。

  面試題七、Javascript延遲加載的方式有哪些?

Javascript的加載、解析和執(zhí)行會阻塞頁面的渲染過程,因此我們希望Javascript腳本能夠盡可能的延遲加載,提高頁面的渲染速度。

1.將js腳本放在文檔的底部,來使js腳本盡可能的在最后來加載執(zhí)行。

2.給js腳本添加defer屬性,這個屬性會讓腳本的加載與文檔的解析同步解析,然后在文檔解析完成后再執(zhí)行這個腳本文件,這樣的話就能使頁面的渲染不被阻塞。多個設置了defer屬性的腳本按規(guī)范來說最后是順序執(zhí)行的,但是在一些瀏覽器中可能不是這樣。

3.給js腳本添加async屬性,這個屬性會使腳本異步加載,不會阻塞頁面的解析過程,但是當腳本加載完成后立即執(zhí)行js腳本,這個時候如果文檔沒有解析完成的話同樣會阻塞。多個async屬性的腳本的執(zhí)行順序是不可預測的,一般不會按照代碼的順序依次執(zhí)行。

4.動態(tài)創(chuàng)建DOM標簽的方式,我們可以對文檔的加載事件進行監(jiān)聽,當文檔加載完成后再動態(tài)的創(chuàng)建script標簽來引入js腳本。

以上就是JavaScript面試時常見的問題,其實關于JavaScript面試題還有很多,具體情況還要看公司崗位要求。想了解更多Java的信息,請繼續(xù)關注中培偉業(yè)。

主站蜘蛛池模板: 操一操av | 亚洲AV无码日韩AV无码网站冲 | 91精品国产福利在线观看的优点 | 亚洲欧洲午夜一线一品 | 日韩精品人妻系列无码AV东京 | 97久精品国产片一区二区三区 | china野外3pgay印小天 | 早川濑里奈aⅴ电影在线 | 91成人高清无码在线观看 | 91jq就是激情在线观看 | 久久黄网| 日韩成人在线一区 | 国产片一级 | 六月婷婷一区 | run away韩剧高清 在线观看 | 最新国产福利在线观看精品 | 伊人久久综在合线亚洲2019 | 艳妇臀荡乳欲伦岳动漫h | 国产黄色一级电影 | 91中文在线观看 | 精品国产18久久久久久二百 | 久久人人爽人人片 | 性猛交xxxx乱大交孕妇2十 | 亚洲中文字幕综合在线 | 91freehdxxxx欧美| 少妇私密推油呻吟在线播放 | 日韩在线色视频 | 成人精品 一区二区三区 | 少妇扒开双腿让我看个够 | 日韩黄色片免费看 | 韩国美女一级片 | 国产精品久久久久久久久久白浆 | 97色婷婷成人综合在线观看 | 好姑娘8影视剧在线观看 | 亚洲成年片 | 在线观看免费视频91 | 精品一区二区三区四区五区六区 | 无码区A∨视频体验区30秒 | www亚洲免费国内精品 | 在线观看免费播放av片 | 欲色影院|