摘要:題目如何用實現(xiàn)答案如下。新建一個文件,然后把后綴名改為再用瀏覽器打開。會先后彈出兩個對話框,依次顯示,。所以謎底在這里,加號前面肉眼看起來像大寫字母的變量,其實并不是,其進制編碼為。
我大學畢業(yè)找工作時,經(jīng)常做一些稀奇古怪的面試題。這不,給大家分享一道整蠱的面試題,它其實不能算一道正式的面試題,大家可以用它來捉弄你們那些程序員朋友。
題目:如何用JavaScript實現(xiàn)2+2=5?
答案如下。
新建一個txt文件,然后把后綴名改為.html, 再用瀏覽器打開。
會先后彈出兩個對話框,依次顯示6,5。
但是,第二個函數(shù)f里面,明明變量H被賦成了2, 2 + 2 應該等于4才對,為什么答案是5????
我們用Chrome開發(fā)者工具調(diào)試一下,看看到底有什么玄虛。
為什么函數(shù)f里有兩個看起來一模一樣的H,但是一個值為2,一個值為3?
到現(xiàn)在,肉眼已經(jīng)不能幫助我們了。那么我們就請出winHex這款16進制文件編輯與磁盤編輯神奇出馬。
先從百度上搜索ASCII,得知大寫字母的H的十六進制編碼為48.
然后我們用WinHex打開上述代碼文件,果然發(fā)現(xiàn)了這個48的16進制編碼對應了大寫H。
同樣,加號“+”的16進制編碼是2B:
空格為20。
所以謎底在這里,加號前面肉眼看起來像大寫字母H的變量“H",其實并不是H,其16進制編碼為CE 97。它的值在函數(shù)f里賦為2,而大寫H賦為3,2 + 3 = 5,所以彈出窗里我們看到的結(jié)果是5。
這道題其實并沒有考察JavaScript里閉包等知識點,而是一個障眼法,惡作劇。
要獲取更多Jerry的原創(chuàng)技術文章,請關注公眾號"汪子熙"或者掃描下面二維碼:
文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請注明本文地址:http://m.specialneedsforspecialkids.com/yun/98519.html
摘要:所以,可以這樣寫利用數(shù)組的方法,就可以實現(xiàn)在棧頂末尾添加新的元素了。因為棧地內(nèi)部使用數(shù)組保存元素,所以數(shù)組地就是棧的長度。實現(xiàn)方法,方法用來清空棧中所有的元素。感興趣可以自行百度去了解原文鏈接行無忌的成長小屋如何用手動實現(xiàn)一個棧 什么是棧(Stack) showImg(https://segmentfault.com/img/remote/1460000015304781?w=400&...
摘要:其中就包括定義塊級作用域的關鍵字塊級作用域如何用低版本模擬如何用低版本模擬加強版如何用低版本模擬自調(diào)用函數(shù)版 簡述 在JavaScript編程中,當我們使用關鍵字var時,該變量是在距離最近的函數(shù)內(nèi)部或是在全局詞法環(huán)境中定義的,即函數(shù)作用域。這是JavaScript由來已久的特性,{}并不一定限制變量作用域的模式也困擾了許多從其他語言轉(zhuǎn)向JavaScript的開發(fā)者。隨著前端工程的發(fā)展...
摘要:在前端應用里,有時候我們需要根據(jù)運行環(huán)境的不同做出對應處理。另一個重要的字段為下面這段不到行的代碼通過使用正則表達式處理對象中的和字段來判斷當前前端應用運行的環(huán)境,支持三種操作系統(tǒng),等移動平臺。執(zhí)行后,會彈出檢測出的運行環(huán)境和版本號。 我們部署在某些云平臺或者Web服務器上的前端應用,既可以用PC端瀏覽器訪問,也可以用手機上的瀏覽器訪問。 在前端應用里,有時候我們需要根據(jù)運行環(huán)境的不同...
閱讀 917·2021-09-29 09:35
閱讀 1261·2021-09-28 09:36
閱讀 1531·2021-09-24 10:38
閱讀 1079·2021-09-10 11:18
閱讀 640·2019-08-30 15:54
閱讀 2508·2019-08-30 13:22
閱讀 1973·2019-08-30 11:14
閱讀 708·2019-08-29 12:35