遇到奇葩面试题了,x !== x 可以为 true ?
时间:2025-11-04 14:44:28 出处:IT科技类资讯阅读(143)
最近,奇葩我被问到几个奇怪的面试面试问题。它们与普通的奇葩问题不同:这些面试问题看起来非常简单,但却考验你对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
现在我们排除 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
这个问题可能不容易,但只要你了解 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(大迁世界)
}

我不想再读了,这是什么垃圾问题?
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 > 0const 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
猜你喜欢
- 以k快启动安装教程(轻松安装k快启动,提升系统启动速度)
 - OPPOA59音质体验(深度解析OPPOA59手机的音质表现)
 - 希捷ST500DM002硬盘的性能与优势(希捷ST500DM002的关键特点和性能测试结果)
 - 华为AM180音质体验(华为AM180耳机的音质表现如何?一起来探索!)
 - 将MOV格式视频转换为MP4的简单方法(以MOV格式的视频为例,教你一步步将视频转换为MP4格式)
 - 以苹果恢复大师Win7系统教程-高效恢复Win7系统的方法(使用苹果恢复大师工具,快速解决Win7系统问题)
 - 华硕FL5900U笔记本电脑的特点与优势(探索华硕FL5900U的卓越性能与出色设计)
 - BONG3智能手环(探索BONG3智能手环的功能和优势,让你的生活更智能便捷)
 - 索尼KDL32R500C电视评测(探索索尼KDL32R500C的特点和性能)