摘要:簡評你認為這個問題是一個好的面試題嗎在中可能為嗎這個問題是國外一位求職者最近在面試一家大型科技公司時遇到的一個問題。這里給一個最高贊的答案自定義或者方法,每次調用改變一次返回值,從而滿足判斷條件。
簡評:你認為這個問題是一個好的面試題嗎?
在 JavaScript 中 (a ==1 && a== 2 && a==3) 可能為 true 嗎?
這個問題是國外一位求職者最近在面試一家大型科技公司時遇到的一個問題。
他的回答是「不可能」,而面試方說「nothing is impossible」,然后就沒有然后了。
雖然在實際工作中可能沒人會寫這樣的代碼,但題主還是放不下,苦思冥想了兩個禮拜,終于還是決定在 Stack Overflow 上尋求解答。
大家可以先自己想一想。
...
...
...
這里給一個最高贊的答案:
自定義 toString(或者 valueOf)方法,每次調用改變一次返回值,從而滿足判斷條件。
const a = { i: 1, toString: function () { return a.i++; } } if(a == 1 && a == 2 && a == 3) { console.log("Hello World!"); }
當使用 == 時,如果兩個參數的類型不一樣,那么 JS 會嘗試將其中一個的類型轉換為和另一個相同。在這里左邊對象,右邊數字的情況下,會首先嘗試調用 valueOf(如果可以調用的話)來將對象轉換為數字,如果失敗,再調用 toString。
其實,還有很多其他的實現,感興趣的可以點擊鏈接看看。
比如,我比較喜歡這個:
with({ get a() { return Math.floor(Math.random()*4); } }){ for(var i=0;i<1000;i++){ if (a == 1 && a == 2 && a == 3){ console.log("after "+(i+1)+" trials, it becomes true finally!!!"); break; } } }
問題:Can (a ==1 && a== 2 && a==3) ever evaluate to true? reddit
討論:Javascript: Can (a ==1 && a== 2 && a==3) ever evaluate to true? r/programming
文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。
轉載請注明本文地址:http://specialneedsforspecialkids.com/yun/107555.html
我們說下想要實現,一副牌里有54張,我們可以知道 3 - 2 的牌總共有13張,這分為4個花色是 ?? ?? ?? ?? 另外加上2個大小王!第一步:形成一個數組, 就要寫一個函數,利用牌數量和花色,這樣可以用來形成一個雙重循環將 number 里面的內容 和 flower 里面的內容 進行一個循環嵌入?最后在用 push 生成一個對象放到數組的后面?再到最后放入 大小王 。 constnu...
今天主要就是匯總JavaScript數組的9中不同方法匯總,也將詳細示例展示給大家。 如果你還不知道數組實例中迭代方法有什么區別,可以看下面這張圖: map 代表返回一個新的數組,且數組中的每一項都是執行過map提供的回調函數結果。 實現代碼如下: constmap=(array,fun)=>{ //類型約束 if(Object.prototype.toString.c...
摘要:我們舉個例子我們可以對上述對象使用方法,他會返回一個對象。在我們的問題中會企圖將對象轉化成數字的類型,進行比較。幸運的是,在中有符號。當我們每次調用的時候,他會將變量增加返回給我們。 如果你能確切的答出可以,那恭喜你,你可以繞道了 前言 有人會說,這個問題好奇葩,放在別的語言里,這要是能輸出true,估計是見鬼了,但是你別說,放在js中好真有可能。最近在一個人的推特上提了一個問題: ...
一、我們先說說javascript的作用域 ①全局變量-函數體外部進行聲明 ②局部變量-函數體內部進行聲明 1)函數級作用域 javascript語言中局部變量不同于C#、Java等高級語言,在這些高級語言內部,采用的塊級作用域中會聲明新的變量,這些變量不會影響到外部作用域。 而javascript則采用的是函數級作用域,也就是說js創建作用域的單位是函數。 例如: 在C#當中我...
要是別人問您:如何讓 x 等于 1 且讓 x 等于 2 且讓 x 等于 3 的等式成立? 咋地,知道如何實現?想罵人有不 現在我們一起來分解思路: 我們先來講講寬松相等== 和嚴格相等 ===,這兩個都能用來判斷兩個值是否相等,但們明確上文提到的等于指的是哪一種,二者的區別看下: (1) 這兩個基礎直接的區別: (1.1) 不同類型間比較,== 比較轉化成同一類型后的值看值是否相等,...
閱讀 732·2021-08-17 10:11
閱讀 1598·2019-08-30 11:15
閱讀 1020·2019-08-26 13:54
閱讀 3508·2019-08-26 11:47
閱讀 1220·2019-08-26 10:20
閱讀 2820·2019-08-23 18:35
閱讀 1216·2019-08-23 17:52
閱讀 1299·2019-08-23 16:19