先上題:
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 答 從如下幾點...