精品欧美一区二区三区在线观看 _久久久久国色av免费观看性色_国产精品久久在线观看_亚洲第一综合网站_91精品又粗又猛又爽_小泽玛利亚一区二区免费_91亚洲精品国偷拍自产在线观看 _久久精品视频在线播放_美女精品久久久_欧美日韩国产成人在线

11道JavaScript 面試題

開發 前端
我從事 JavaScript 面試已經有一段時間了,我遇到過很多人,盡管知道自己要參加 JavaScript 面試,但他們要么不熟悉 JavaScript,要么沒有做好充分的準備。

我從事 JavaScript 面試已經有一段時間了,我遇到過很多人,盡管知道自己要參加 JavaScript 面試,但他們要么不熟悉 JavaScript,要么沒有做好充分的準備。

盡管從事過基于 JavaScript 的項目,但其中一些人甚至無法回答最基本的 JavaScript 問題。因此,本文的目的是分享在JavaScript 面試中會遇到哪些問題以及如何回答這些問題。

這些不是我在采訪中提出的確切問題,但它們確實涵蓋了概念。讓我們從一些基本問題開始,然后逐步討論更高級的概念。

1. var、let 和 const 之間的區別?

盡管這是 JS 的基本問題之一,但令人驚訝的是,許多人都無法區分 let 和 var 之間的區別。

答案很簡單:var 是函數作用域,可以重新聲明和更新,而 let 是塊作用域,不能重新聲明,但可以更新。同時,const 是塊作用域的,不能重新聲明或更新。

var a = 10 // Can re-declared and update
let b = 20 // Can't re-declared but can update
const c = 30 // Can't re-declared or update

當然,var 如今已經不太常用了,但是仍然有代碼使用它,我們可能會遇到。未能回答此問題還表明你不熟悉 JavaScript 中塊作用域和函數作用域之間的區別。

2. == 和 === 運算符的區別?

這也是一個很常見的JS問題。== 運算符僅檢查值是否匹配,而忽略數據類型。如果要比較的兩個變量的類型不同,它會在后臺執行類型強制。另一方面, === 運算符確保值和類型相等。

2 == "2" //true
2 === "2" //false
null == undefined //true
null === undefined //false

3. 如何在不改變原始數組的情況下對數組進行排序?

在 2023 年之前,要對數組進行排序而不改變它,你需要對其進行淺表復制,因為 JS 排序函數會改變原始數組。

因此,最簡單的方法是使用擴展運算符,然后對數組進行排序,如下例所示。

const numbers = [3, 1, 4, 1, 5];
const sorted = [...numbers].sort();

然而,在 2023 年,JS 引入了 toSorted() 函數,它允許您在不改變原始數組的情況下對數組進行排序。這個問題測試候選人的知識以及是否是最新的。

const numbers = [3, 1, 4, 1, 5];
const sorted = numbers.toSorted();

4. 解釋回調函數并提供用例?

簡而言之,回調是一個函數,它作為參數傳遞給另一個函數,然后在后者完成其任務后執行。它支持異步操作,允許 JavaScript 處理耗時的任務,而不會延遲其他操作的執行。

const fetchData = (callbackFunc) => {
    setTimeout(() => {
      const data = "Sample data";
      callbackFunc(data);
   }, 2000);
}


const processFetchedData = (data) => {
    console.log("Processing data:", data);
}


fetchData(processFetchedData);

回調用于處理用戶事件,例如按鈕單擊和輸入更改。當用戶事件發生時,可以調用回調函數來執行一段代碼。回調對于處理異步數據請求也非常有用。當從服務器獲取數據時,回調函數處理接收到的數據。

5. JavaScript 中的閉包是什么?

閉包是一個可以訪問其自身作用域、外部函數作用域和全局作用域的函數。閉包還與 JavaScript 中的詞法作用域相關。詞法作用域描述了變量和函數在運行時如何確定作用域。為了解釋什么是閉包,最好用一個簡單的例子。

let makeSizer = (size) => 
  () => {
    console.log(`fontSize = ${size}px`);
  };


const size10 = makeSizer(10);
const size12 = makeSizer(12);
const size14 = makeSizer(14);


size10(); // fontSize = 10px
size12(); // fontSize = 12px
size14(); // fontSize = 14px

在前面的示例中,size10、size12 和 size14 函數是閉包。閉包在事件驅動編程中很有用。例如,你可以編寫一個生成事件處理程序的函數,每個處理程序都可以訪問特定數據,而不會污染全局范圍。

6.什么時候需要使用Async代碼?

當我們需要避免 JavaScript 中阻塞主線程時,我們必須使用異步代碼。主線程管理調用堆棧,其中包含當前的函數調用序列。如果主線程被阻塞,函數在調用之前將必須等待。

因此,異步代碼對于高效處理耗時操作至關重要。JavaScript 提供了回調、promise 和 async/await 等技術來更好地管理異步操作。

7. JavaScript 中的 Promise 是什么?

Promise 是代表異步操作最終成功或失敗的對象。它們是與 ES6 JavaScript 添加一起引入的。當 Promise 被解決或拒絕時,您可以使用 Promise 實例的 then 和 catch 方法來調用函數。以下是 Promise 的簡單 JavaScript 代碼示例。

const fetchData = () => {
 return new Promise((resolve, reject) => {
    // Simulate an asynchronous operation
    setTimeout(() => {
      // Resolve the promise with some data
      resolve("Data fetched successfully!");
    }, 1000);
 });
};


// Use the Promise
fetchData()
 .then(data => {
    console.log(data);
 })
 .catch(error => {
    console.error("An error occurred:", error);
 });

8. Promise 和 Observables 之間的區別?

這是一個比前面的問題更高級的問題。Observables 是 Promise 的更強大版本,但它們不是 Javascript 原生的。它們用于處理產生多個值的操作,例如,用戶輸入事件或實時數據流。

與 Promises 不同,Observables 允許你通過調用 unsubscribe() 方法來取消正在進行的操作。Observables 也比 Promises 更適合復雜的數據操作,因為它們支持更廣泛的運算符(例如 map、filter、switchMap 等)。

然而,Observables 要求應用程序包含 RxJS 依賴開銷。此外,Observables 比 Promise 更難使用。因此,如果需要一種簡單的方法來處理異步操作的單個結果,Promise 更適合。

9. Promise 和 Async Await 之間的區別?

Async/Await 具有比 Promises 更同步的語法,使閱讀和理解程序的流程變得更容易。與 Promise 鏈相比,Async/Await 的樣板代碼更少。鏈接是連續執行兩個或多個異步操作,每個后續操作在前一個操作成功完成后開始。

const fetchData = async () => {
 // Simulate an API call that returns a promise
 let promise = new Promise((resolve, reject) => {
    setTimeout(() => resolve("Data fetched!"), 1000);
 });


 let result = await promise;
 console.log(result);
}


fetchData().catch(error => {
    console.error("An error occurred:", error);
});

上面是 async/await 在 JavaScript 中如何工作的示例。wait 關鍵字指示 JavaScript 等待,直到 Promise 對象被解析或拒絕。

Async/Await 基于 Promises,并作為對開發人員更友好的語法在 Promises 之后添加到 JavaScript 中。

但是,在必須并發處理多個異步操作的場景中,應該使用 Promises 而不是 async/await。Promise.all() 方法在這種情況下會很有用。

10. 解釋一下去抖動和節流?

去抖動意味著延遲函數的執行,直到自上次觸發事件以來經過一定時間。另一方面,節流限制了調用函數的頻率。它確保函數以指定的時間間隔執行,并且該時間間隔內的任何其他調用都將被忽略。

用例

去抖動最常見的應用之一是搜索建議,您希望等待用戶完成輸入后再獲取建議。這避免了每次擊鍵時都調用 API 并提高了性能。

限制對于處理滾動和調整大小事件非常有用,可以在這些事件中限制函數調用的頻率,以便應用程序不會因重新渲染而過載。

11. 什么是 JavaScript 中的事件冒泡以及如何阻止它?

當你單擊嵌套在其他幾個元素中的按鈕時,該按鈕及其父元素都會觸發單擊事件,從而在 DOM 樹中向上移動。這稱為事件冒泡,DOM 中的大多數事件都會發生這種情況。如果組件具有嵌套的單擊事件,這可能會成為問題。

要停止事件冒泡,可以使用事件對象的 stopPropagation() 方法。此方法可防止事件在 DOM 樹上進一步傳播。

onClick((event) => {
  event.stopPropagation();
  console.log("button clicked");
})

總結

以上這11道面試題中有基本和高級 JavaScript 問題與概念。作為面試官,我試圖使這些信息盡可能簡單,以便即使是初學者也能理解。

我希望今天分享的這期內容能夠幫助你自信地面對下一次 JavaScript 面試。最后,感謝您的閱讀,祝編程愉快。

責任編輯:華軒 來源: web前端開發
相關推薦

2024-02-26 15:35:44

2024-01-01 15:30:59

JavaScriptWeb 應用程序開發

2010-11-26 10:53:29

戴爾

2024-04-15 08:34:43

2024-04-28 08:23:18

2013-01-05 14:51:34

JavaScriptjQuery面試

2025-08-19 09:28:53

2020-11-13 16:00:57

SpringCloud面試架構

2022-02-11 14:01:22

底層String字符串

2018-02-25 16:35:32

前端CSS面試題

2024-10-11 17:09:27

2021-10-26 11:45:22

Vue面試前端

2019-05-15 16:45:13

SpringBoot面試題Java

2017-03-10 09:33:16

JavaScript類型

2019-04-02 17:40:47

春招面試Python面試題

2023-09-21 14:55:24

Web 開發TypeScript

2018-03-06 15:30:47

Java面試題

2009-08-11 14:59:57

一道面試題C#算法

2010-08-30 16:42:57

谷歌面試題

2020-08-31 12:20:07

Python面試題代碼
點贊
收藏

51CTO技術棧公眾號

国产成人激情av| 欧美成人高清| 欧美浪妇xxxx高跟鞋交| 黄色片免费在线观看视频| 涩涩视频免费看| 免费高清视频精品| 欧美激情二区三区| 精品无码在线观看| 9999久久久久| 欧美午夜免费电影| 999一区二区三区| 国产三级在线免费观看| 国产精品一区免费在线观看| 欧美中文字幕第一页| 黄色香蕉视频在线观看| 欧美黄色网视频| 5858s免费视频成人| 国产精品va在线观看无码| 国产毛片av在线| 成人午夜激情在线| 国产精品一区二区在线| 中文字幕在线观看视频网站| 99精品综合| 亚洲欧美日韩精品久久奇米色影视| 91热视频在线观看| 亚洲va中文在线播放免费| 亚洲午夜日本在线观看| 免费观看国产视频在线| 国产一级在线| 91亚洲国产成人精品一区二三| 成人精品一区二区三区电影黑人| 国产精品va无码一区二区三区| 中文字幕乱码亚洲无线精品一区| 国产亚洲欧美日韩精品| 一区二区三区免费在线观看视频| 久久亚洲精精品中文字幕| 在线观看日韩av先锋影音电影院| www.av毛片| 在线中文字幕第一页| 国产精品午夜久久| 日韩欧美一区二区三区四区| 色婷婷激情五月| 国产成人在线看| 国产精品毛片a∨一区二区三区|国 | 日本丰满少妇做爰爽爽| 99亚洲一区二区| 高清亚洲成在人网站天堂| 久久久无码一区二区三区| 亚洲综合色网| 欧美另类极品videosbest最新版本| 国产无遮挡在线观看| 不卡在线一区| 日韩在线视频播放| 国产suv精品一区二区68| 久久精品99久久无色码中文字幕| 国产亚洲欧美另类中文| 妺妺窝人体色WWW精品| 国产99精品一区| 在线成人免费网站| 国产大屁股喷水视频在线观看| 凹凸成人精品亚洲精品密奴| 中文字幕日韩av| 黄色一级片一级片| 99久久夜色精品国产亚洲96| x99av成人免费| 欧美日韩国产黄色| 久久久久久久久99精品大| 久久成人18免费网站| 国产人妻精品一区二区三区不卡| 欧美一区免费| 国内免费久久久久久久久久久| 日韩三级av在线| 久久亚洲风情| 国产日韩av在线| www.xxx国产| 91一区二区三区在线播放| 日本一区免费观看| 黄网站免费在线播放| 一区二区免费看| 国产精品沙发午睡系列| 色综合天天色| 欧美变态口味重另类| xxxx黄色片| 日韩一区电影| 欧美福利小视频| 四虎成人在线观看| 久久精品久久99精品久久| 97中文在线观看| 牛牛澡牛牛爽一区二区| 国产精品成人在线观看| 日本一本中文字幕| h1515四虎成人| 亚洲精品一区二区三区影院| 日韩欧美黄色网址| 韩日成人av| 国产精品扒开腿做爽爽爽视频| 国产精品久久久久精| av中文一区二区三区| 亚洲蜜桃在线| 男女羞羞在线观看| 7777精品伊人久久久大香线蕉的 | 人妻少妇精品无码专区久久| 国产欧美一区二区精品忘忧草| 草草草视频在线观看| 日韩电影免费观| 欧美大片一区二区| 嘿嘿视频在线观看| 亚洲精品裸体| 亚洲一区二区三区四区视频| 清纯唯美亚洲色图| 一区二区三区中文免费| 手机看片福利日韩| 老司机aⅴ在线精品导航| 日韩视频―中文字幕| 中文字幕亚洲高清| 国产激情视频一区二区三区欧美| 欧美日韩国产综合在线| 欧美hdxxxxx| 欧美伦理视频网站| 成人无码av片在线观看| 亚洲精品乱码久久久久久蜜桃麻豆| 国产日韩在线视频| 岛国最新视频免费在线观看| 午夜精品福利在线| 免费在线观看日韩av| 亚洲精品成人影院| 国产精自产拍久久久久久| 欧洲毛片在线| 疯狂欧美牲乱大交777| 亚洲熟女一区二区三区| 亚洲国产精品综合久久久| 国产精品麻豆va在线播放| 美州a亚洲一视本频v色道| 亚洲福利视频一区| 伊人久久一区二区三区| 国产一区亚洲| dy888夜精品国产专区| www红色一片_亚洲成a人片在线观看_| 欧美日韩视频在线观看一区二区三区 | 欧美电影院免费观看| 日韩在线视频网站| 中文字幕有码视频| 国产精品天干天干在观线| 欧美性猛交久久久乱大交小说 | 成人免费的视频| 久久亚洲国产成人精品无码区 | 欧美视频1区| 国产精品视频自拍| 久久精品www人人爽人人| 精品一区二区免费视频| 一区国产精品| 国产视频网站一区二区三区| 久久精品中文字幕| 国产乱码精品一区二区| 亚洲欧美激情插| 日批视频在线看| 欧美日本亚洲韩国国产| 国产精品久久久久久久小唯西川| 丝袜综合欧美| 亚洲国产精久久久久久久| www.国产成人| 久久精品无码一区二区三区| 国产精品乱码久久久久| 欧美偷拍综合| 91在线免费视频| 久久国产精品黑丝| 日韩精品中文字| 一区二区乱子伦在线播放| 中文字幕免费不卡在线| 亚洲黄色av片| 亚洲精品极品| 日本一区免费在线观看| 高清一区二区| 91国产精品视频在线| 国产小视频免费在线网址| 欧美日韩成人一区| 久久久99精品| 久久精品网站免费观看| 伊人五月天婷婷| av成人国产| 亚洲一区二区在线免费观看| 久久99精品久久久野外观看| 欧美一级黑人aaaaaaa做受| 91亚洲精选| 精品播放一区二区| 中文天堂在线资源| 亚洲国产精品一区二区久久| 亚洲欧美va天堂人熟伦 | 欧美日韩亚洲激情| 激情五月激情综合| 99久久夜色精品国产网站| 91视频免费版污| 亚洲小说欧美另类婷婷| 视频一区二区精品| 9l视频自拍九色9l视频成人| 国产精品爱久久久久久久| 免费在线观看av电影| 国产一区二区三区丝袜| 免费a级片在线观看| 欧美日韩视频在线第一区 | 欧美日韩免费观看一区| 国产一区二区三区亚洲综合| 青青精品视频播放| 女同视频在线观看| 自拍偷拍免费精品| 亚洲欧美色视频| 日韩久久免费av| 人妻中文字幕一区二区三区| 红桃视频成人在线观看| 三级全黄做爰视频| 97精品国产露脸对白| 三级黄色片免费看| 蜜臀av一区二区| 欧美成人免费高清视频| 精品成人一区| 亚洲av综合色区| 久久裸体网站| 婷婷五月色综合| 亚洲丝袜美腿一区| 九色一区二区| 国产一区在线电影| 成人av网站观看| 国产日韩在线观看视频| 国产精品入口福利| 日韩不卡在线| 国产成人精品久久二区二区| mm视频在线视频| 久久99国产精品久久久久久久久| 日韩黄色影院| 神马国产精品影院av| 成年人视频在线免费观看| 国产视频综合在线| 四虎影视精品成人| 日韩电影中文字幕一区| 可以免费看毛片的网站| 精品少妇一区二区三区在线播放| 国产裸体无遮挡| 777色狠狠一区二区三区| 在线观看免费高清视频| 欧美日韩国产色站一区二区三区| 黄色大全在线观看| 欧洲一区二区av| 波多野结衣二区三区| 欧美性色黄大片| 中文字幕一区二区在线视频| 欧美性色aⅴ视频一区日韩精品| 人人妻人人爽人人澡人人精品| 欧美性色视频在线| 无码人妻丰满熟妇奶水区码| 日本精品视频一区二区| 波多野结衣一二区| 欧美日免费三级在线| 国产一区二区视频免费观看| 制服丝袜成人动漫| 午夜久久久久久久久久| 精品电影一区二区三区 | 久久久久久久久久久久久女国产乱 | 久久午夜a级毛片| 欧美日韩色网| 4k岛国日韩精品**专区| 国产 日韩 欧美一区| 国产中文日韩欧美| 亚洲开心激情| 国产一级特黄a大片99| 蜜臀91精品国产高清在线观看| 五月天婷亚洲天综合网鲁鲁鲁| 国产精品久久久久久久久妇女| 今天免费高清在线观看国语| 日韩午夜免费视频| chinese少妇国语对白| 激情六月婷婷综合| 大尺度做爰床戏呻吟舒畅| 久久综合九色综合久久久精品综合| 亚洲人成人无码网www国产| 中文字幕一区二区三区色视频| 久久亚洲成人av| 日本精品免费观看高清观看| 国产手机av在线| 日韩成人在线视频观看| 在线观看二区| 国内精品伊人久久| 国产91在线精品| 国产精品美女黄网| 极品美女一区二区三区| 永久免费在线看片视频| 午夜一区不卡| 999热精品视频| 久久久天堂av| 免费一级片视频| 欧美在线一二三四区| 亚洲成人一级片| 少妇久久久久久| 在线观看网站免费入口在线观看国内| 国产日韩欧美中文| 亚洲激情播播| 国产精品视频一二三四区| 日本亚洲最大的色成网站www| 国产精品亚洲一区二区无码| 国产精品免费av| 一级片中文字幕| 日韩欧美在线影院| 最新电影电视剧在线观看免费观看| 午夜免费在线观看精品视频| japansex久久高清精品| 日本黄网免费一区二区精品| 亚洲天堂久久| 中文字幕一区久久| 国产肉丝袜一区二区| 日本一区二区欧美| 日韩亚洲欧美一区二区三区| 午夜视频在线看| 国产精品白嫩初高中害羞小美女 | 婷婷精品久久久久久久久久不卡| 精品视频在线观看| 亚洲视频日本| 性一交一黄一片| 亚洲图片你懂的| 亚洲无码精品国产| 国产亚洲欧美日韩美女| 久久爱91午夜羞羞| 精品国产中文字幕| 伊人久久成人| 国产吃瓜黑料一区二区| 亚洲人吸女人奶水| 国产一区二区麻豆| 中文字幕成人在线| 美女色狠狠久久| 亚洲国产精品www| 日韩在线一区二区三区| 人人妻人人澡人人爽人人精品| 亚洲超丰满肉感bbw| 免费国产精品视频| 色与欲影视天天看综合网| 国产精品日韩精品在线播放 | gogo在线观看| 91色视频在线导航| 久久久久久美女精品| 777一区二区| 中文字幕在线一区免费| 中文字幕一区二区三区四区免费看| 宅男66日本亚洲欧美视频| 草民电影神马电影一区二区| 亚洲精品无人区| 久久99久国产精品黄毛片色诱| 97在线观看视频免费| 欧美精品久久99| 宅男在线观看免费高清网站| wwwxx欧美| 亚洲裸体俱乐部裸体舞表演av| 屁屁影院国产第一页| 欧美性猛交视频| 91女主播在线观看| 国产精品夜色7777狼人| 亚洲成人精选| 国产精品熟妇一区二区三区四区 | 蜜桃a∨噜噜一区二区三区| 成人小视频在线看| 日本一区二区三区四区| 一区二区三区亚洲视频| 欧美成aaa人片免费看| eeuss鲁片一区二区三区| 亚欧无线一线二线三线区别| 国产视频一区二区在线观看| 91国在线视频| 欧美极品美女电影一区| 伊甸园亚洲一区| 182午夜在线观看| 一级做a爱片久久| 天堂av网在线| 成人伊人精品色xxxx视频| 欧美人成在线| 成都免费高清电影| 9191精品国产综合久久久久久| 香蕉成人app免费看片| 美女精品国产| 精品一区二区日韩| 五月激情六月丁香| 色偷偷av一区二区三区乱| 综合中文字幕| 99视频免费播放| 樱花影视一区二区| 黄色片在线播放| 91精品国产一区二区三区动漫 | 亚洲成人激情自拍| 成人福利在线| 国产69精品久久久久9999apgf| 久久精品午夜| 久操视频免费在线观看| 亚洲品质视频自拍网| 老司机亚洲精品一区二区| 久久国产亚洲精品无码| ...中文天堂在线一区| 涩涩视频在线观看免费| 91系列在线观看| 性色av一区二区怡红| 欧美精品xxxxx| 中文字幕日韩高清| 亚洲动漫精品| 在线观看一区二区三区四区| 欧美日韩精品专区|