日本综合一区二区|亚洲中文天堂综合|日韩欧美自拍一区|男女精品天堂一区|欧美自拍第6页亚洲成人精品一区|亚洲黄色天堂一区二区成人|超碰91偷拍第一页|日韩av夜夜嗨中文字幕|久久蜜综合视频官网|精美人妻一区二区三区

RELATEED CONSULTING
相關(guān)咨詢
選擇下列產(chǎn)品馬上在線溝通
服務(wù)時(shí)間:8:30-17:00
你可能遇到了下面的問(wèn)題
關(guān)閉右側(cè)工具欄

新聞中心

這里有您想知道的互聯(lián)網(wǎng)營(yíng)銷解決方案
遇到奇葩面試題了,x!==x可以為true?

前言

x !== x 可以為 true ?

請(qǐng)問(wèn)當(dāng) x 值為什么時(shí),才會(huì)打印 大遷世界

創(chuàng)新互聯(lián)專注于中大型企業(yè)的網(wǎng)站設(shè)計(jì)、成都網(wǎng)站建設(shè)和網(wǎng)站改版、網(wǎng)站營(yíng)銷服務(wù),追求商業(yè)策劃與數(shù)據(jù)分析、創(chuàng)意藝術(shù)與技術(shù)開(kāi)發(fā)的融合,累計(jì)客戶上1000+,服務(wù)滿意度達(dá)97%。幫助廣大客戶順利對(duì)接上互聯(lián)網(wǎng)浪潮,準(zhǔn)確優(yōu)選出符合自己需要的互聯(lián)網(wǎng)運(yùn)用,我們將一直專注成都品牌網(wǎng)站建設(shè)和互聯(lián)網(wǎng)程序開(kāi)發(fā),在前進(jìn)的路上,與客戶一起成長(zhǎng)!

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

奇怪,到底有什么值是不等于自身的嗎?在 JS 中確實(shí)有一個(gè)值 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?

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

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

也許你知道 object. Defineproperty,它可以幫助我們解決這個(gè)問(wèn)題。

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

這個(gè)問(wèn)題可能不容易,但只要你了解 JS,你會(huì)知道 Number.MAX_SAFE_INTEGER,它表示 常量表示在 JavaScript 中最大的安全整數(shù)(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?

我不想再讀了,這是什么垃圾問(wèn)題?

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

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

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('大遷世界')
}

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

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

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

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

最后

你還遇到過(guò)什么奇葩的面試題,歡迎留言補(bǔ)充!!

作者:fatfish

譯者:前端小智 來(lái)源:medium

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


本文標(biāo)題:遇到奇葩面試題了,x!==x可以為true?
URL分享:http://www.dlmjj.cn/article/ccdddco.html