每日面試題8 13

2021-10-09 04:08:11 字數 1918 閱讀 7495

先上題:

console.

log(([

])?true

:false);

console.

log(([

]==false

?true

:false))

; console.

log((==

false)?

true

:false

)

今天的這一道面試題主要是關於==這個知識點的。

要想完全做懂此型別的題目,我們應該需要了解以下幾個點。

基本型別的轉化順序。string>number>boolean==只是去判斷左右兩邊的字元的值是否一樣。

這裡包含乙個隱式轉化。需要用到第一點中的知識。

個人理解:==的判斷

在做這道題之前我們先來看以下幾個式子:

console.

log(

==true);

//false

console.

log(([

])==true);

//false

console.

log(

==true);

//false

console.

log(()

==true);

//false

console.

log(

==false);

//true

console.

log(([

])==false);

//true

console.

log(

==false);

//false

console.

log(()

==false);

//false

console.

log(

number()

);//nan

console.

log(

number((

)));

//nan

console.

log(

number([

]));

//0 console.

log(

number((

)));

//0

上面第一行的式子中就是涉及到了隱式轉換,這邊我們參考規律的第四條,全部轉換為number型別,我們先看第三塊的**塊。這裡我測試的結果是:不管是不是被()包裹轉化的結果都是一致的。再回到第一二個**塊,我們就能很快捷的知道結果。結果見**注釋。

這裡最主要的是這裡轉換實際上是去轉的''然後空串是轉化為false最終轉化為0,然而{}最終轉化為nan

我們在會過來看面試題:

第一行中判斷是否為true根據上面規律第四條,我們可以知道是轉換為0的,false也是轉化為0的,所以最後結果為true

第二行中和第一行差不多的,左邊和右邊都為0所以最後輸出true

第三行中{}轉化為數字型別為nan,右邊為0所以為false

最後結果為 true true false

6 27 每日面試題

6.27 每日面試題 1 stringstream常見用法介紹 定義了三個類 istringstream ostringstream 和 stringstream,分別用來進行流的輸入 輸出和輸入輸出操作。本文以 stringstream 為主,介紹流的輸入和輸出操作。主要用來進行資料型別轉換,由於...

每日面試題 矩陣的螺旋輸出

輸入乙個m n的矩陣,將其螺旋輸出,如下圖 如下 矩陣螺旋輸出 define max 100 int data max max int output int m,int n,int x,int y,int cnt,int total for int i 0 itotal return cnt x y...

前端隨心記 每日面試題8 29

1.給父元素新增宣告 overflow hidden 觸發乙個bfc 缺點 隱藏那個內容之外的元素。2.在浮動元素下方新增空div 並新增宣告 div 缺點 造成 冗餘。3 萬能清除浮動法 選擇符 after 優點 實用簡潔方便。style 第一種 div 第二次 div style 答 從如下幾點...