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

LOGO OA教程 ERP教程 模切知識交流 PMS教程 CRM教程 開發文檔 其他文檔  
 
網站管理員

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

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

?

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

現在,讓我們直接進入正題!

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” — 數字和字符串之間的 + 運算符將數字轉換為字符串。因此,它類似于“1”+“2”+“2”。

  • “32” — 一元 + 運算符將“2”轉換為數字。因此,1 + 2 = 3,而“3”+“2”得出“32”。

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

  • “112” — 第一個 +“1”將字符串“1”轉換為數字,但隨后將其與“1”和“2”連接起來,得到“112”。

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

  • NaN — 與上文相同,但這次“NaN”+2 被視為數學運算,因此您只會得到 NaN。

關鍵要點:JavaScript 類型強制轉換功能強大,但可能很棘手!+ 運算符的行為根據處理的是字符串還是數字而有所不同。

02.這個輸出是什么?

console.log(typeof typeof 1);

解釋:

輸出為“string”。

原因如下:

typeof 1 給出“number”。

typeof“number”是“string”,因為 typeof 總是返回字符串。

關鍵要點:typeof 運算符總是返回字符串,即使您正在檢查另一個 typeof 操作的類型!

03.這個表達式的結果是什么?

console.log([] + []);

解釋:

輸出為空字符串“”。

原因如下:

使用 + 運算符時,JavaScript 會嘗試將數組轉換為字符串。

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

因此,這就像執行“”+“”,結果為空字符串。

關鍵要點:使用 + 運算符時,JavaScript 中的數組會轉換為字符串。

04.將會記錄什么?

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

解釋:

1 — 在 JavaScript 中,true 被視為 1,false 被視為 0。因此,true + false 變為 1 + 0 = 1。

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

關鍵要點:JavaScript 在數學表達式中使用時會將布爾值轉換為數字 — true 變為 1,false 變為 0。

05.輸出是什么?

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

解釋:

輸出為 456。

原因如下:

JavaScript 將對象鍵轉換為字符串。

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

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

關鍵要點:當使用對象作為鍵時,JavaScript 會將它們轉換為字符串,因此在使用對象鍵時要小心!

06.記錄了什么?

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

解釋:

true — JavaScript 從左到右進行求值。首先,1 < 2 為 true,然后將其強制轉換為 1。因此,1 < 3 為 true。

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

關鍵要點:注意 JavaScript 如何處理鏈式比較 — 它并不總是按您期望的方式工作。

07.結果如何?

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

解釋:

結果為假!這是由于 JavaScript 中浮點數的表示方式造成的。0.1 + 0.2 的結果不是 0.3,而是 0.30000000000000004。

要點:JavaScript 中的浮點精度有限,因此相等比較有時會產生意外結果。

08.輸出是什么?

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

解釋:

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

原因如下:

+ 運算符觸發兩個數組上的 toString() 方法。

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

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

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

關鍵要點:在數組上使用 + 運算符時,JavaScript 會將它們轉換為字符串并連接起來。

最后的想法

面試題可能很棘手,尤其是當它們關注 JavaScript 怪癖時,例如類型強制、浮點運算和對象處理。

但有了這些示例和解釋,您應該可以更好地準備自信地面對這些棘手的 JavaScript 問題。

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


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