偷偷摘套内射激情视频,久久精品99国产国产精,中文字幕无线乱码人妻,中文在线中文a,性爽19p

22道 JavaScript 面試常被問到的問題

開發(fā) 前端
今天,在這里,我們整理了一些面試中的高頻又基礎(chǔ)的JavaScript 面試題,希望對(duì)你有所幫助。

如果你想從事開發(fā)工作,我們?cè)跍?zhǔn)備面試的時(shí)候,總會(huì)遇到很多面試題,這些面試題,都是企業(yè)作為篩選人員的一種方式,雖然,不一定能夠找到合適的員工,但是這樣的方式會(huì)提升他們的工作效率。

而作為應(yīng)聘者的我們,特別是作為一個(gè)行業(yè)新人,認(rèn)真準(zhǔn)備每一次面試真的非常重要,因?yàn)槲覀兤谕玫阶约盒膬x的工作機(jī)會(huì)。

其實(shí),很多時(shí)候,我們?cè)诿嬖嚨臅r(shí)候,企業(yè)也不會(huì)故意出難題為難大家,并且我發(fā)現(xiàn)一般的企業(yè),都不是要求大家掌握所有技能,當(dāng)然,這也不科學(xué),他們只希望前來面試的人對(duì) HTML、CSS 和最重要的 JavaScript 等基本 Web 技術(shù)有一些深入的了解,特別是JavaScript技術(shù),真的是可以出題的內(nèi)容太多了。

因此,今天,在這里,我們整理了一些面試中的高頻又基礎(chǔ)的JavaScript 面試題,希望對(duì)你有所幫助。

好了,我們現(xiàn)在開始今天的內(nèi)容。

1、ES6版本引入了哪些特性?

  •  let 和 const 關(guān)鍵字。
  •  箭頭函數(shù)。
  •  多行字符串。
  •  解構(gòu)賦值。
  •  增強(qiáng)的對(duì)象文字。
  •  Promises

2、var、const 和 let 的主要區(qū)別是什么?

  •  用 let 和 const 聲明的變量是塊范圍的;用 var 聲明的變量是全局范圍的或函數(shù)范圍的。
  •  var 變量可以在其范圍內(nèi)更新和重新聲明;讓變量可以更新但不能重新聲明;const 變量既不能更新也不能重新聲明。
  •  var 可以提升到其作用域的頂部。其中 var 變量初始化為未定義,let 和 const 變量未初始化(臨時(shí)死區(qū),TDZ)。
  •  雖然可以在不初始化的情況下聲明 var 和 let,但必須在聲明期間初始化 const。

3、什么是promise和async-await?

Promises 是一種在 JavaScript 中啟用異步編程的方法。一般來說,Promise 意味著程序調(diào)用函數(shù)時(shí)期它返回調(diào)用程序可以在進(jìn)一步計(jì)算中使用的結(jié)果。

Async-await 也有助于異步編程。它是 promise 的語法糖。Async-await 語法簡(jiǎn)單,很容易在單個(gè)函數(shù)中維護(hù)大量異步調(diào)用。此外, async-wait 可以防止回調(diào)地獄。

const myPromise = new Promise((resolve, reject) => {  
// condition
});

4、什么是閉包?

在 JavaScript 函數(shù)中定義的函數(shù)稱為閉包。它可以訪問 3 種類型的范圍(內(nèi)部、外部和全局),在外部函數(shù)的情況下,除了訪問變量之外,它還可以查看參數(shù)。

5、如何用 JavaScript 編寫“Hello World”?

這可能是向所有新人提出的非常基本的 JavaScript 面試高頻問題。它可以使用以下語法編寫,可以放置在 HTML 文件的正文中。

document.write(“JavaScript Hello World!);

6、如何使用外部 JS 文件?

可以通過使用以下語法從 HTML 文檔調(diào)用文件來完成,就像調(diào)用外部 CSS 文件一樣。

<script type="text/javascript" src="custom.js"></script>

7、JavaScript如何保持并發(fā)?

  •  事件循環(huán)。
  •  微和宏隊(duì)列。
  •  回調(diào)。
  •  線程池和集群(多線程)。

8、什么是回調(diào),并提供一個(gè)簡(jiǎn)單的例子

回調(diào)函數(shù)是作為參數(shù)傳遞給另一個(gè)函數(shù)并在某些操作完成后執(zhí)行的函數(shù)。下面是一個(gè)簡(jiǎn)單的回調(diào)函數(shù)示例,該函數(shù)在某些操作完成后記錄到控制臺(tái)。

function modifyArray(arr, callback) {
// do something to arr here
arr.push(100);
// then execute the callback function that was passed
callback();
}
var arr = [1, 2, 3, 4, 5];
modifyArray(arr, function() {
console.log("array has been modified", arr);
});

9、我們有多少種方式來聲明一個(gè)函數(shù),它們之間有什么不同?

函數(shù)聲明由 function 關(guān)鍵字組成,后跟一個(gè)強(qiáng)制性的函數(shù)名稱,一對(duì)括號(hào)中的參數(shù)列表。

可以在對(duì)象字面量和 ES2015 類的方法聲明中使用速記方法定義。

使用包含參數(shù)列表的一對(duì)括號(hào)定義箭頭函數(shù)。后面是一個(gè)粗箭頭 => 和一對(duì)分隔正文語句的花括號(hào)。

在函數(shù)表達(dá)式中,您將函數(shù)分配給變量。

可以使用 Function 構(gòu)造函數(shù)動(dòng)態(tài)創(chuàng)建函數(shù),但存在安全和性能問題,不建議使用。

10、什么是對(duì)象以及如何創(chuàng)建它?

一切都是對(duì)象,因?yàn)?JavaScript 是一種基于對(duì)象的語言。不過,我們可以將對(duì)象定義為具有自己的行為和狀態(tài)的實(shí)體。

創(chuàng)建對(duì)象的常用方法是使用“new”關(guān)鍵字創(chuàng)建實(shí)例。

Var object = new Object();

11、“this”是什么意思?

與其他面向?qū)ο蟮木幊陶Z言中“this”是由類實(shí)例化的對(duì)象不同,在 JavaScript 中,“this”是一個(gè)對(duì)象,它是方法的所有者。

12、什么是匿名函數(shù)?

顧名思義,它是一個(gè)沒有名字的函數(shù),它們是在運(yùn)行時(shí)使用函數(shù)運(yùn)算符動(dòng)態(tài)聲明的,因?yàn)樗峁┝吮嚷暶鞣蟮撵`活性。

var display=function()  
{
alert("Anonymous Function is declared");
}
display();

13、您對(duì) BOM 了解多少?

BOM,也稱為瀏覽器對(duì)象模型,用作瀏覽器的交互介質(zhì)。默認(rèn)對(duì)象是窗口,所有函數(shù)都可以直接調(diào)用,也可以通過指定窗口來調(diào)用。History、Screen、location,是 Window 的不同屬性。

14、什么是 DOM 及其用法?

Document Object Model,俗稱DOM,代表HTML文檔,它用于更改 HTML 文檔的內(nèi)容。

15、如何從特定索引返回字符?

charAt() 方法可用于找出任何特定索引處的字符值,考慮到“n”是字符串的長度,索引可以從 0 開始,到“n-1”結(jié)束。然而,索引的值不能為負(fù)數(shù),不能等于或大于字符串的長度。

var str="LambdaTest";    
document.writeln(str.charAt(4));

16、“==”和“===”的區(qū)別

這可能是被問得最多的 JavaScript 面試問題。

類型轉(zhuǎn)換相等 (==) 檢查 2 個(gè)變量是否相似,無論它們的數(shù)據(jù)類型如何。例如 (“3” ==3) 將返回 true。

嚴(yán)格相等 (===) 檢查 2 個(gè)變量是否具有相似的數(shù)據(jù)類型和值。例如 (“3” ===3) 將返回 false。

17、JS中有哪些不同的數(shù)據(jù)類型?

JavaScript 有以下數(shù)據(jù)類型:

18、什么是原型屬性?

原型屬性通常用于實(shí)現(xiàn)繼承。每個(gè)函數(shù)都有一個(gè),默認(rèn)值為空。方法和屬性被添加到原型中以使其可用于實(shí)例。你可以用一個(gè)計(jì)算矩形周長的例子來回答這個(gè) JavaScript 面試問題。

function Rectangle(x, y) {
this.x = x;
this.y = y;
}
Rectangle.prototype.perimeter = function() {
return 2 * (this.x + this.y);
}
var rectangle = new Rectangle(4, 3);
console.log(rectangle.perimeter()); // outputs '14'

19、異步編程及其重要性

在這里,JS 引擎在事件循環(huán)中運(yùn)行。當(dāng)遇到阻塞操作時(shí),會(huì)觸發(fā)請(qǐng)求并且代碼會(huì)不斷運(yùn)行。一旦響應(yīng)準(zhǔn)備好,就會(huì)觸發(fā)中斷。執(zhí)行事件處理程序,而控制流繼續(xù)。因此,通過異步編程,單個(gè)線程可以同時(shí)處理多個(gè)操作。

20、窗口對(duì)象的使用

這不是 JavaScript 對(duì)象,而是瀏覽器自動(dòng)創(chuàng)建的外部窗口。它用于顯示彈出對(duì)話框。例如

alert() - 顯示帶有自定義消息和“確定”按鈕的警報(bào)框。

注意:- 英特爾 XDK 測(cè)試 — 跨 3000 多種不同的桌面和移動(dòng)瀏覽器測(cè)試您基于英特爾 XDK CSS 框架的網(wǎng)站。

21、客戶端 JavaScript 與服務(wù)器端有何不同?

客戶端 JavaScript 通常由基本語言以及與在瀏覽器中運(yùn)行的腳本相關(guān)的某些預(yù)定義對(duì)象組成。由 HTML 直接嵌入,在運(yùn)行時(shí)由瀏覽器執(zhí)行。

服務(wù)器端 JS 幾乎類似于客戶端。但是,它是在服務(wù)器中執(zhí)行的,并且只有在代碼編譯完成后才能部署。

22、JavaScript 中變量的命名約定

在命名變量時(shí),我們必須遵循一定的規(guī)則:

  •  不要使用 JavaScript 保留的關(guān)鍵字。例如——布爾值、中斷等。
  •  不要以數(shù)字開頭的變量名。以“_”或字母開頭。例如,不要寫 123func,而是寫 func123 或 _123func。
  •  變量區(qū)分大小寫?!瓼unc’ 和 ‘func’ 將被區(qū)別對(duì)待。

總結(jié)

以上就是在 JavaScript 面試中,被經(jīng)常問到的一些問題,當(dāng)然,這不是全部,我們?cè)诿嬖囍?,?jīng)常被問到一些關(guān)于JavaScript的問題,其實(shí),都是比較基礎(chǔ)的知識(shí)。

當(dāng)然,在實(shí)際面試中,具體面試官會(huì)問什么,誰也沒有辦法預(yù)料,但是,如果我們有備而來,就不至于太慌張,還有就是,面試時(shí)被問的技術(shù)問題,有時(shí)候,也取決于面試官的知識(shí)技能儲(chǔ)備以及工作中實(shí)際需要的知識(shí)。

總之,我們需要平時(shí)多加學(xué)習(xí),以備不時(shí)之需,技多不壓身。

最后,希望今天內(nèi)容對(duì)你有幫助,如果你覺得有用的話,請(qǐng)記得點(diǎn)贊我,關(guān)注我,并將它分享給你的朋友,也許能夠幫助到他。

感謝你的閱讀,祝編程愉快!

責(zé)任編輯:龐桂玉 來源: web前端開發(fā)
相關(guān)推薦

2019-03-06 14:26:31

Javascript面試前端

2019-05-15 16:45:13

SpringBoot面試題Java

2020-05-14 08:13:56

JDK命令Java

2018-02-01 09:26:12

面試算法題程序員

2019-07-16 10:10:46

JavaScript數(shù)據(jù)類型

2022-01-12 09:08:37

索引JavaReference對(duì)象

2019-02-21 10:49:51

Redis持久化恢復(fù)

2020-07-01 17:25:28

Redis數(shù)據(jù)庫內(nèi)存

2024-06-04 14:52:28

2024-02-26 15:35:44

2020-11-20 10:47:47

網(wǎng)絡(luò)面試開發(fā)

2019-03-26 09:45:42

Python編程語言面試題

2019-12-16 15:37:57

JavaScript人生第一份工作瀏覽器

2024-01-01 15:30:59

JavaScriptWeb 應(yīng)用程序開發(fā)

2023-09-13 08:37:56

程序員面試catch

2017-03-10 09:33:16

JavaScript類型

2017-11-10 13:30:31

Linux運(yùn)維Shell腳本

2017-03-17 14:18:34

JavaScript算法問題詳解

2012-05-25 10:15:06

Java程序員面試題

2022-04-01 12:40:13

MySQL數(shù)據(jù)庫
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)