成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

遇到奇葩面試題了,x !== x 可以為 true ?

開發 前端
雖然看起來不太可能,一個值怎么可能大于它自己呢?但是,我們可以使用 Symbol.toPrimitive功能來完成這個問題。

前言

最近,我被問到幾個奇怪的面試問題。它們與普通的問題不同:這些面試問題看起來非常簡單,但卻考驗你對JavaScript的透徹理解。你能正確回答多少個?

x !== x 可以為 true ?

請問當 x 值為什么時,才會打印 大遷世界

const x = ? // ??
if (x !== x) {
console.log('大遷世界')
}

奇怪,到底有什么值是不等于自身的嗎?在 JS 中確實有一個值 NaN,它不等于任何值,甚至不等于自己。

const x = NaN 
if (x !== x) {
console.log('大遷世界')
}
console.log(NaN === NaN) // false
console.log(x !== x) // true
console.log(Number.isNaN(x)) // true

(!isNaN(x) && x !== x) 可以為 true?

現在我們排除 NaN,那么還有什么值可以不等于它自身的?

const x = ? 
if(!isNaN(x) && x !== x) {
console.log('hello fatfish')
}
view rawq2-1.js hosted with

也許你知道 object. Defineproperty,它可以幫助我們解決這個問題。

window.x = 0 
Object.defineProperty(window, 'x', {
get () {
return Math.random()
}
})
console.log(x) // 0.12259077808826002
console.log(x === x) // false
console.log(x !== x) // true

3.如何讓 x === x + 1

這個問題可能不容易,但只要你了解 JS,你會知道 Number.MAX_SAFE_INTEGER,它表示 常量表示在 JavaScript 中最大的安全整數(maxinum safe integer)(2^53 - 1)。

所以,我們可以把 Number.MAX_SAFE_INTEGER 賦給 x:

const x =  Number.MAX_SAFE_INTEGER + 1 
if (x === x + 1) {
console.log('大遷世界')
}

4. x > x 可以為 true?

我不想再讀了,這是什么垃圾問題?

const x = ? 
if (x > x) {
console.log('hello fatfish')
}

雖然看起來不太可能,一個值怎么可能大于它自己呢?但是,我們可以使用 Symbol.toPrimitive功能來完成這個問題。

const x = {
value: 1,
[ Symbol.toPrimitive ] () {
console.log('x', this.value)
return --this.value
}
}

if (x > x) {
console.log('大遷世界')
}

真的很神(垃)奇(圾)。

5. typeof x === 'undefined' && x.length > 0

const x = ? 
if(typeof x === 'undefined' && x.length > 0) {
console.log('大遷世界')
}

我不得不承認,JS 是一種神奇的語言。除了 undefined 本身,還有什么值可以使 typeof x === undefined 為 true?

答案就是 document.all,它表示頁面上的所有元素。

const x = document.all 
if(typeof x === 'undefined' && x.length > 0) {
console.log('大遷世界')
}

console.log(x)
console.log(typeof x)
console.log(x === undefined)

最后

你還遇到過什么奇葩的面試題,歡迎留言補充!!

作者:fatfish

譯者:前端小智 來源:medium

原文:https://javascript.plnenglish.io/interviewer-can-x-x-return-true-in-javascript-7e1d1a7b5cd

責任編輯:武曉燕 來源: 大遷世界
相關推薦

2023-08-13 16:17:31

2018-07-20 09:24:27

Java面試垃圾收集

2020-06-04 14:40:40

面試題Vue前端

2021-06-09 07:56:51

JvmJVM面試題Java

2011-03-24 13:27:37

SQL

2023-11-13 07:37:36

JS面試題線程

2014-09-19 11:17:48

面試題

2015-09-02 09:32:56

java線程面試

2009-06-06 18:34:05

java面試題

2009-06-06 18:36:02

java面試題

2025-02-26 07:58:41

2009-06-16 14:03:16

Hibernate面試Hibernate面試

2020-11-05 10:01:35

系統設計軟件

2013-05-29 10:23:36

Android開發移動開發Java面試題

2021-02-23 12:43:39

Redis面試題緩存

2024-06-04 14:52:28

2023-07-14 08:12:21

計時器unsafecontext

2013-01-05 14:51:34

JavaScriptjQuery面試

2014-07-28 14:00:40

linux面試題

2018-03-08 18:40:47

Java百度面試題
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 全部免费毛片在线播放网站 | 综合久久av| 免费黄网站在线观看 | 日韩精品在线一区 | 国产成人精品一区二区三区 | 99爱视频| 日韩在线免费视频 | 欧美a级成人淫片免费看 | 亚洲精品在线免费 | 色眯眯视频在线观看 | 成人精品| 精品国产欧美日韩不卡在线观看 | 久久精品国产一区二区三区不卡 | 手机av在线 | 久久久久久精 | 亚洲一二三区在线观看 | 亚洲欧美精 | 久久精品国产一区二区电影 | 毛片在线视频 | 国产精品永久在线观看 | 亚洲激情在线观看 | 天天干com| 成人免费大片黄在线播放 | 亚洲网站在线播放 | 久久久无码精品亚洲日韩按摩 | 精品伊人 | 美女三区 | 9久久婷婷国产综合精品性色 | 激情五月综合网 | 欧美一区二区三区的 | 97国产精品视频人人做人人爱 | 丝袜 亚洲 欧美 日韩 综合 | 亚洲一区视频在线 | 亚洲福利在线观看 | www.亚洲精品 | 国产网站在线免费观看 | 91精品国产乱码久久久久久久 | 国产精品久久久久久久久久免费看 | 久久久久久久久99 | 久久久一区二区三区 | 国产精品永久免费观看 |