狠狠色丁香婷婷综合尤物/久久精品综合一区二区三区/中国有色金属学报/国产日韩欧美在线观看 - 国产一区二区三区四区五区tv

LOGO OA教程 ERP教程 模切知識(shí)交流 PMS教程 CRM教程 開發(fā)文檔 其他文檔  
 
網(wǎng)站管理員

8 個(gè)必知必會(huì)的 JavaScript 面試問題(附解釋)

admin
2024年10月13日 22:25 本文熱度 812

?

有些JavaScript面試題可能令人望而生畏,在今天的文中,我們將分享一些棘手而基本的 JavaScript 面試題,通過這些面試題,從而幫助您理解這些概念,助您在面試中脫穎而出,還能加深您對(duì)的 JavaScript 知識(shí)的理解。

現(xiàn)在,讓我們直接進(jìn)入正題!

01.以下代碼的輸出是什么?

console.log(1 + "2" + "2");console.log(1 + +"2" + "2");console.log(1 + -"1" + "2");console.log(+"1" + "1" + "2");console.log("A" - "B" + "2");console.log("A" - "B" + 2);

解釋:

  • “122” — 數(shù)字和字符串之間的 + 運(yùn)算符將數(shù)字轉(zhuǎn)換為字符串。因此,它類似于“1”+“2”+“2”。

  • “32” — 一元 + 運(yùn)算符將“2”轉(zhuǎn)換為數(shù)字。因此,1 + 2 = 3,而“3”+“2”得出“32”。

  • “02” — 一元 - 將“1”變成 -1,使 1 + (-1) = 0,然后“0”+“2”得出“02”。

  • “112” — 第一個(gè) +“1”將字符串“1”轉(zhuǎn)換為數(shù)字,但隨后將其與“1”和“2”連接起來,得到“112”。

  • “NaN2” — “A”-“B”得出 NaN(非數(shù)字),然后將其與“2”連接起來,因此得到“NaN2”。

  • NaN — 與上文相同,但這次“NaN”+2 被視為數(shù)學(xué)運(yùn)算,因此您只會(huì)得到 NaN。

關(guān)鍵要點(diǎn):JavaScript 類型強(qiáng)制轉(zhuǎn)換功能強(qiáng)大,但可能很棘手!+ 運(yùn)算符的行為根據(jù)處理的是字符串還是數(shù)字而有所不同。

02.這個(gè)輸出是什么?

console.log(typeof typeof 1);

解釋:

輸出為“string”。

原因如下:

typeof 1 給出“number”。

typeof“number”是“string”,因?yàn)?typeof 總是返回字符串。

關(guān)鍵要點(diǎn):typeof 運(yùn)算符總是返回字符串,即使您正在檢查另一個(gè) typeof 操作的類型!

03.這個(gè)表達(dá)式的結(jié)果是什么?

console.log([] + []);

解釋:

輸出為空字符串“”。

原因如下:

使用 + 運(yùn)算符時(shí),JavaScript 會(huì)嘗試將數(shù)組轉(zhuǎn)換為字符串。

[].toString() 給出一個(gè)空字符串。

因此,這就像執(zhí)行“”+“”,結(jié)果為空字符串。

關(guān)鍵要點(diǎn):使用 + 運(yùn)算符時(shí),JavaScript 中的數(shù)組會(huì)轉(zhuǎn)換為字符串。

04.將會(huì)記錄什么?

console.log(true + false);console.log(true + true);

解釋:

1 — 在 JavaScript 中,true 被視為 1,false 被視為 0。因此,true + false 變?yōu)?1 + 0 = 1。

2 — 兩個(gè) true 值都被視為 1,因此就是 1 + 1 = 2。

關(guān)鍵要點(diǎn):JavaScript 在數(shù)學(xué)表達(dá)式中使用時(shí)會(huì)將布爾值轉(zhuǎn)換為數(shù)字 — true 變?yōu)?1,false 變?yōu)?0。

05.輸出是什么?

let a = {}, b = {key: 'b'}, c = {key: 'c'};a[b] = 123;a[c] = 456;console.log(a[b]);

解釋:

輸出為 456。

原因如下:

JavaScript 將對(duì)象鍵轉(zhuǎn)換為字符串。

b 和 c 都轉(zhuǎn)換為字符串“[object Object]”,因此它們被視為同一個(gè)鍵。

最后一個(gè)賦值 (a[c] = 456) 覆蓋了 a[b] 的值。

關(guān)鍵要點(diǎn):當(dāng)使用對(duì)象作為鍵時(shí),JavaScript 會(huì)將它們轉(zhuǎn)換為字符串,因此在使用對(duì)象鍵時(shí)要小心!

06.記錄了什么?

console.log(1 < 2 < 3);console.log(3 > 2 > 1);

解釋:

true — JavaScript 從左到右進(jìn)行求值。首先,1 < 2 為 true,然后將其強(qiáng)制轉(zhuǎn)換為 1。因此,1 < 3 為 true。

false — 類似地,3 > 2 為 true(或 1),但 1 > 1 為 false。

關(guān)鍵要點(diǎn):注意 JavaScript 如何處理鏈?zhǔn)奖容^ — 它并不總是按您期望的方式工作。

07.結(jié)果如何?

console.log(0.1 + 0.2 === 0.3);

解釋:

結(jié)果為假!這是由于 JavaScript 中浮點(diǎn)數(shù)的表示方式造成的。0.1 + 0.2 的結(jié)果不是 0.3,而是 0.30000000000000004。

要點(diǎn):JavaScript 中的浮點(diǎn)精度有限,因此相等比較有時(shí)會(huì)產(chǎn)生意外結(jié)果。

08.輸出是什么?

console.log([1, 2, 3] + [4, 5, 6]);

解釋:

輸出為“1,2,34,5,6”。

原因如下:

+ 運(yùn)算符觸發(fā)兩個(gè)數(shù)組上的 toString() 方法。

[1, 2, 3].toString() 的結(jié)果為“1,2,3”。

[4, 5, 6].toString() 的結(jié)果為“4,5,6”。

這些字符串連接在一起,因此得到“1,2,34,5,6”。

關(guān)鍵要點(diǎn):在數(shù)組上使用 + 運(yùn)算符時(shí),JavaScript 會(huì)將它們轉(zhuǎn)換為字符串并連接起來。

最后的想法

面試題可能很棘手,尤其是當(dāng)它們關(guān)注 JavaScript 怪癖時(shí),例如類型強(qiáng)制、浮點(diǎn)運(yùn)算和對(duì)象處理。

但有了這些示例和解釋,您應(yīng)該可以更好地準(zhǔn)備自信地面對(duì)這些棘手的 JavaScript 問題。

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


該文章在 2024/10/14 11:19:21 編輯過
關(guān)鍵字查詢
相關(guān)文章
正在查詢...
點(diǎn)晴ERP是一款針對(duì)中小制造業(yè)的專業(yè)生產(chǎn)管理軟件系統(tǒng),系統(tǒng)成熟度和易用性得到了國(guó)內(nèi)大量中小企業(yè)的青睞。
點(diǎn)晴PMS碼頭管理系統(tǒng)主要針對(duì)港口碼頭集裝箱與散貨日常運(yùn)作、調(diào)度、堆場(chǎng)、車隊(duì)、財(cái)務(wù)費(fèi)用、相關(guān)報(bào)表等業(yè)務(wù)管理,結(jié)合碼頭的業(yè)務(wù)特點(diǎn),圍繞調(diào)度、堆場(chǎng)作業(yè)而開發(fā)的。集技術(shù)的先進(jìn)性、管理的有效性于一體,是物流碼頭及其他港口類企業(yè)的高效ERP管理信息系統(tǒng)。
點(diǎn)晴WMS倉(cāng)儲(chǔ)管理系統(tǒng)提供了貨物產(chǎn)品管理,銷售管理,采購(gòu)管理,倉(cāng)儲(chǔ)管理,倉(cāng)庫(kù)管理,保質(zhì)期管理,貨位管理,庫(kù)位管理,生產(chǎn)管理,WMS管理系統(tǒng),標(biāo)簽打印,條形碼,二維碼管理,批號(hào)管理軟件。
點(diǎn)晴免費(fèi)OA是一款軟件和通用服務(wù)都免費(fèi),不限功能、不限時(shí)間、不限用戶的免費(fèi)OA協(xié)同辦公管理系統(tǒng)。
Copyright 2010-2025 ClickSun All Rights Reserved