性少妇vide0seⅹfree_国产剧情视频在线观看_日日碰夜夜爽_九九这里只有精品视频_性free毛茸茸偷窥videos_国产v亚洲

中培偉業(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è)。

主站蜘蛛池模板: 中国毛茸茸xxxhd | 日韩一级视频在线观看 | 91周晓琳系列在线观看第10部 | 伊人久久五月丁香综合中文亚洲 | 91肥熟国产老肥熟 | 97在线观看免费观看高清 | 性欧美长视频免费观看不卡 | 日韩小毛片 | 精品国产乱码久久久久久久 | porn 国产| 超碰在线9 | 全免费a级毛片免费看 | 久久精品女同亚洲女同13 | 天天天干 | 狠狠干in| 国产麻豆久久久 | 久久精品爱看无码免费视频 | 国产特黄特色大片免费视频 | 永久免费看mv网站入口亚洲 | 国产精品欧美日韩在线 | 国产精品视频久久久久久久 | 欧美午夜精品一区二区 | 天天躁夜夜躁狠狠躁2021 | 亚洲国产一区久久yourpan | 欧美一级性生活视频 | 久艹网站| 美女被狂揉大乳视频网站 | 一区二区三区免费高清视频 | 日本高清视频wwwwwww色 | 久久久久国色AⅤ免费看 | 国产一区二区成人h动漫精品 | 在线观看免费视频的网站 | 嗯~宝贝你的胸好软奶罩脱了动漫 | 国产一级做a爱片久久毛片a | 阿v免费在线观看 | 喂奶挤奶一区二区三区 | 国产精品毛片一区二区三区四区 | 天天性综合 | 福利网站在线播放 | 欧美 日韩 在线 一区 | 精品国产午夜福利在线观看蜜月 |