當(dāng)你為數(shù)組中的元素設(shè)置一個超過數(shù)組長度的值時,JavaScript會創(chuàng)建一個名為“空插槽”的東西。 這些位置的值實際上是undefined,但你會看到類似的東西:
[1, 2, 3, 7 x empty, 11]
這取決于你運(yùn)行它的位置(每個瀏覽器有可能不同)。
38. 下面代碼的輸出是什么?
(() => { let x, y; try { throw new Error(); } catch (x) { (x = 1), (y = 2); console.log(x); } console.log(x); console.log(y); })();
A: 1 undefined 2
B: undefined undefined undefined
C: 1 1 2
D: 1 undefined undefined
答案: A
catch塊接收參數(shù)x。當(dāng)我們傳遞參數(shù)時,這與變量的x不同。這個變量x是屬于catch作用域的。
之后,我們將這個塊級作用域的變量設(shè)置為1,并設(shè)置變量y的值。 現(xiàn)在,我們打印塊級作用域的變量x,它等于1。
在catch塊之外,x仍然是undefined,而y是2。 當(dāng)我們想在catch塊之外的console.log(x)時,它返回undefined,而y返回2。
39. JavaScript中的所有內(nèi)容都是…
A:原始或?qū)ο?/p>
B:函數(shù)或?qū)ο?/p>
C:技巧問題!只有對象
D:數(shù)字或?qū)ο?/p>
答案: A
JavaScript只有原始類型和對象。
原始類型是boolean,null,undefined,bigint,number,string和symbol。
40. 下面代碼的輸出是什么?
[[0, 1], [2, 3]].reduce( (acc, cur) => { return acc.concat(cur); }, [1, 2] );
A: [0, 1, 2, 3, 1, 2]
B: [6, 1, 2]
C: [1, 2, 0, 1, 2, 3]
D: [1, 2, 6]
答案: C
[1,2]是我們的初始值。 這是我們開始執(zhí)行reduce函數(shù)的初始值,以及第一個acc的值。 在第一輪中,acc是[1,2],cur是[0,1]。 我們將它們連接起來,結(jié)果是[1,2,0,1]。
然后,acc的值為[1,2,0,1],cur的值為[2,3]。 我們將它們連接起來,得到[1,2,0,1,2,3]。
41. 下面代碼的輸出是什么?
!!null; !!""; !!1;
A: false true false
B: false false true
C: false true true
D: true true false
答案: B
null是假值。 !null返回true。 !true返回false。
""是假值。 !""返回true。 !true返回false。
1是真值。 !1返回false。 !false返回true。
42. `setInterval`方法的返回值什么?
setInterval(() => console.log("Hi"), 1000);
A:一個唯一的id
B:指定的毫秒數(shù)
C:傳遞的函數(shù)
D:undefined
答案: A
它返回一個唯一的id。 此id可用于使用clearInterval()函數(shù)清除該定時器。
43. What does this return?
[..."Lydia"];
A: ["L", "y", "d", "i", "a"]
B: ["Lydia"]
C: [[], "Lydia"]
D: [["L", "y", "d", "i", "a"]]
答案: A
字符串是可迭代的。 擴(kuò)展運(yùn)算符將迭代的每個字符映射到一個元素。
聲明:本網(wǎng)頁內(nèi)容旨在傳播知識,若有侵權(quán)等問題請及時與本網(wǎng)聯(lián)系,我們將在第一時間刪除處理。TEL:177 7030 7066 E-MAIL:11247931@qq.com