11個棘手的JavaScript面試題
在本文中,將分享11個Javascript技巧面試問。這些題看起來很簡單,但對答案卻要三思而后行,因為它很容易做錯。
1、變量
輸出是什么?
案例1
for(var i = 0; i <5; i ++){setTimeout(()=> console.log(i),1);}
B:5 5 5 5 5
解答:B

for (let i = 0; i < 5; i++) {setTimeout(() => console.log(i), 1);}
B:5 5 5 5 5
C:0 1 2 3 4

2、“new”關(guān)鍵字
function User(username, password) {this.username= username;this.password= password;}
案例1
const kesk = new User('kesk', '12345');kesk;
B:未定義

const kesk2 = User('kesk','12345');kesk2;
B:未定義

3、JavaScript 控制
function sum(n1, n2) {return n1+ n2;}sum(10, '20');
可能的結(jié)果:
B:TypeError
C:“ 1020”
D:20
解答:C
JavaScript是一種動態(tài)類型化的語言,因此如有必要,值會自動轉(zhuǎn)換為另一種類型。
在這種情況下,JavaScript會將數(shù)字10轉(zhuǎn)換為有意義的字符串并返回值。在添加數(shù)字類型(10)和字符串類型('20')的過程中,數(shù)字被視為類似于“ Hello” +“ world!”的字符串。(“ Hello world!”),因此結(jié)果為“ 1020”。

4、模板文字
function getCar(brand, model) {console.log(brand);console.log(model);}const brand = 'Ford';const model = 'shelby';getCar`The brand of your car is ${brand} and the model is{model}`;
解答:

5、Rest參數(shù)
function getCar(...args) {console.log(typeof args);}getCar('Ford', 'Shelby');
可能的結(jié)果:
B:“數(shù)字”
C:“ NaN”
D:“對象”
解答:D

6、“ var”變量
var v1 = 10;var v1 = 20;console.log(v1);
可能的結(jié)果:
B:20
C:語法錯誤
解答:B

7、?Continue 聲明
for(let i =1; i< 10; i++){if(i === 5) continue;console.log(i);}
可能的結(jié)果:
B:1 2 3 4 6 7 8 9 10
C:1 2 3 4
解答:B

8、Array
const anArray = [1,2,3,4,5];anArray [10] = 100;console.log(anArray);
可能的結(jié)果:
B:[1、2、3、4、5,空x 5,100]
D:語法錯誤
解答:

9、False&&True的值
console.log(!! null);console.log(!! 1);console.log(!! 0);console.log(!!'');console.log(!! true);console.log(!! false);
可能的結(jié)果:
B:錯誤,正確,錯誤,錯誤,錯誤,真實
解答:A
null是虛假的,!null返回true,!true返回false。
!1為假,!false為真。
!0為true,!true為false。
“”是虛假的!!”返回true,!true返回false。
!true為false,!false為true。
!false為true,!true為false。

10、Map 函數(shù)
[1, 2, 3, 4, 5].map( n => { if (n < 10) return; return n * 2;});可能的結(jié)果:
B:[undefined,undefined,undefined,undefined,undefined]
C:[]
解答:B

11、導入&&導出
let counter = 1;export default counter;
import myCounter from './utilsFile';myCounter += 1;console.log(myCounter);
可能的結(jié)果:
B:1
C:NaN
D:錯誤
解答:D
固定:
let counter = 1;export function incrementCounter() {counter++;}
import incrementCounter’./utilsFile’;console.log(counter); // 1incCounter();console.log(counter); // 2
評論
圖片
表情
