《WEB前端面試題個人合集》第1期:第一題到第十三題的個人解析【詩書畫唱】


前面我發(fā)布的2篇的主要內(nèi)容為面試題問答的專欄中也有部分是自己寫的解析等等。還可以CTRL+F一些關(guān)鍵詞,來查看第二十二題到第六十一題的解析等等,包括一些函數(shù)的使用,專有名稱的含義,單詞的讀音,意思。一些補充,修正等內(nèi)容我會寫在專欄等的評論區(qū)
第一題的解析
第二題的解析
第三題的解析
第四題的解析
第六題的解析
第七題的解析
第九題的解析
第十題解析
第十一題解析
第十二題解析
第十三題解析
清輔音/p/的發(fā)音方法
?

OPTIONS:請求旨在發(fā)送一種“探測”請求以確定針對某個目標地址的請求必須具有怎樣的約束(比如應(yīng)該采用怎樣的HTTP方法以及自定義的請求報頭),然后根據(jù)其約束發(fā)送真正的請求。比如針對“跨域資源”的預(yù)檢(Preflight)請求采用的HTTP方法就是OPTIONS。?

第一題的解析
es6模塊化

let

parse

JSON.parse



const

async



await


filter

every



includes


可用字符串的includes方法時要留意的一點是include方法區(qū)分大小寫。
在JavaScript中還有一種與includes方法用法完全相同的方法indexOf。

find



手機和PC端(CTRL+滑動鼠標滾輪)都上看此圖可放大圖片后觀看



reduce


trim



startsWith

endsWith

json

forEach() 方法用于調(diào)用數(shù)組的每個元素,并將元素傳遞給回調(diào)函數(shù)。
注意:?forEach() 對于空數(shù)組是不會執(zhí)行回調(diào)函數(shù)的。


some

第二題的解析
塊級作用域

函數(shù)作用域:變量在定義的環(huán)境中以及嵌套的子函數(shù)中處處可見;
塊級作用域:變量在離開定義的塊級代碼后立即被回收。
作用域
變量提升

第三題的解析
XMLHttpRequest = XML + Http + Request 。
XMLHttpRequest對象的本質(zhì)是一個可以發(fā)送Http請求,處理Http響應(yīng),與服務(wù)器之間進行異步交換數(shù)據(jù)的對象,其核心是Http。然后介紹了Http請求和響應(yīng)包括的具體內(nèi)容。Http請求包括:方法,URL,請求頭,請求主體。Http響應(yīng)包:狀態(tài)碼,響應(yīng)頭和響應(yīng)主體。
xmlhttprequest的大小寫



(獲取http請求狀態(tài)的status)200和(也是獲取狀態(tài)的readyState)4分別是請求成功和處理完畢
status

state

response

你向ajax后臺的程序發(fā)送xmlhttp請求的時候, 后臺程序接到請求會進行處理,處理結(jié)束后,可以返回一串?dāng)?shù)據(jù)給前臺,這個就是responseText.??

send

ready

第四題的解析
listener

click

event

第六題的解析
arguments

apply


bind

bind,call,apply的作用都是用來改變this指向的。

generator

ECMAScript 6 (簡稱 ES6 )。


yield

target

prototype


第七題的解析
splice


join


第九題的解析
?
DOM,全稱“DocumentObjectModel(文檔對象模型)”,它是由W3C組織定義的一個標準。
?
在前端開發(fā)時,我們往往需要在頁面某個地方添加一個元素或者刪除元素,這種添加元素、刪除元素的操作就是通過DOM來實現(xiàn)的。
?
說白了,DOM就是一個接口,我們可以通過DOM來操作頁面中各種元素,例如添加元素、刪除元素、替換元素等。這下大家就懂了吧。記住,DOM就是文檔對象模型,文檔對象模型就是DOM,很多人在學(xué)習(xí)DOM的時候看到“文檔對象模型”還不知道是什么?
類數(shù)組對象,意思就是說:表面上看起來是數(shù)組,但內(nèi)在卻不是數(shù)組。在Javascript語言中,我們會碰到許多這樣的類數(shù)組對象。其中最典型的便是function中的arguments。
function add(a, b) {
var args = arguments;
console.log(args); // => [3, 4]
console.log(Object.prototype.toString.call(args));
// => [object Arguments]
console.log(args.length); // => 2
console.log(args.slice);
// => undefined
return a + b;}
add(3, 4);
我們發(fā)現(xiàn),當(dāng)我們?nèi)?span id="5tt3ttt3t" class="color-pink-03">打印arguments的類型時,瀏覽器輸出了[object Arguments]
,并且在arguments對象中,slice方法都沒有,這說明argument對象確實不是數(shù)組,而是一個類數(shù)組對象。為了享受數(shù)組的那些便捷方法,所以我們需要將類數(shù)組對象轉(zhuǎn)換成真正的數(shù)組對象。
通常來說,只要[].slice.call就能轉(zhuǎn)換了。
function toArray(arrayLike) {
return [].slice.call(arrayLike);
}
slice



第十題解析
bind

apply

第十一題解析
filter


item

Set


Array.from?方法可以將 Set 結(jié)構(gòu)轉(zhuǎn)為數(shù)組。
[... new Set(arr)]就是先用...操作符把new Set(arr)這個成員唯一,無序且不重復(fù)的Set集合的元素變成可變數(shù)量參數(shù)的多個的獨立的對象后放在[ ]中,就變成了數(shù)組。
解構(gòu):拆分一個普通對象或者數(shù)組,將對象的屬性或者數(shù)組元素賦值給指定的變量。
個人理解:...有拆分的作用,和拆分后對應(yīng)的復(fù)制的解構(gòu)不同。

rest理解為可變數(shù)量參數(shù),組合
spread理解為擴展。
個人理解:解構(gòu)是{}和[...]等中的一種語法,是語法糖。


https://developer.mozilla.org/zh-CN/docs/Web/JavaScript/Reference/Operators/Destructuring_assignment

擴展運算符...
作用是把數(shù)組或類數(shù)組對象展開成一系列用逗號隔開的值(個人理解:把數(shù)值等等擴展成很多單獨的對象)
rest參數(shù)...
作用與擴展運算符恰好相反,把逗號隔開的值序列組合成一個數(shù)組
//主要用于不定參數(shù),所以ES6開始可以不再使用arguments對象

indexOf

lastIndexOf


第十二題解析
inherit

第十三題解析
chrome

webkit

blink


trident

戟

Safari

core

script

清輔音/p/的發(fā)音方法

gecko

Opera

software
