美文网首页互联网科技
如何用JavaScript实现2+2=5?

如何用JavaScript实现2+2=5?

作者: bab6c221f5f7 | 来源:发表于2018-11-11 13:40 被阅读0次
web前端学习扣qun:584226069免费领取全套教学视频资料!

我大学毕业找工作时,经常做一些稀奇古怪的面试题。这不,给大家分享一道整蛊的面试题,它其实不能算一道正式的面试题,大家可以用它来捉弄你们那些程序员朋友。

题目:如何用JavaScript实现2+2=5?

答案如下。

新建一个txt文件,然后把后缀名改为.html, 再用浏览器打开。

<html>

<script>

g = function () {

H = 3

return H + H

}

f = function () {

Η = 2

return Η + H

}

// 3 + 3 = 6

alert(g())

// 2 + 2 = 5

alert(f())

</script>

</html>

web前端学习扣qun:584226069免费领取全套教学视频资料!

会先后弹出两个对话框,依次显示6,5。

但是,第二个函数f里面,明明变量H被赋成了2, 2 + 2 应该等于4才对,为什么答案是5????

我们用Chrome开发者工具调试一下,看看到底有什么玄虚。

为什么函数f里有两个看起来一模一样的H,但是一个值为2,一个值为3?

web前端学习扣qun:584226069免费领取全套教学视频资料!

到现在,肉眼已经不能帮助我们了。那么我们就请出winHex这款16进制文件编辑与磁盘编辑神奇出马。

先从百度上搜索ASCII,得知大写字母的H的十六进制编码为48.

web前端学习扣qun:584226069免费领取全套教学视频资料!

然后我们用WinHex打开上述代码文件,果然发现了这个48的16进制编码对应了大写H。

web前端学习扣qun:584226069免费领取全套教学视频资料!

同样,加号“+”的16进制编码是2B:

web前端学习扣qun:584226069免费领取全套教学视频资料! web前端学习扣qun:584226069免费领取全套教学视频资料!

空格为20。

所以谜底在这里,加号前面肉眼看起来像大写字母H的变量“H",其实并不是H,其16进制编码为CE 97。它的值在函数f里赋为2,而大写H赋为3,2 + 3 = 5,所以弹出窗里我们看到的结果是5。

web前端学习扣qun:584226069免费领取全套教学视频资料!

这道题其实并没有考察JavaScript里闭包等知识点,而是一个障眼法,恶作剧。

相关文章

  • 如何用JavaScript实现2+2=5?

    我大学毕业找工作时,经常做一些稀奇古怪的面试题。这不,给大家分享一道整蛊的面试题,它其实不能算一道正式的面试题,大...

  • 编程实现2+2=5 ?

    看到这样一个题目,不知道如何入手。从网上看来别人如何实现的,互相交流。我们知道java中,string这种类型会使...

  • JavaScript实现强制重定向至HTTPS页面

    在项目中需要打开https的链接,JavaScript实现强制重定向至HTTPS页面,本文讲解如何用JS实现HTT...

  • 荒谬前提的荒谬结论

    有人让罗素证明"如果2+2=5,请证明罗素与某主教是同一个人",罗素:已知2+2=4,因为题目中2+2=5,所以5...

  • 合格的前端工程师-v2.0.0

    原生脚本 并不是说需要知道如何用原生的JavaScript实现一个JavaScript库的所有特性,但你需要知道,...

  • 原生JavaScript实现数据的双向绑定

    整理自《如何用javascript实现双向数据绑定》。 为了实现这个功能我们需要用到js的一个方法Object.d...

  • 实现一个Promise

    本文讲解了如何用JavaScript实现一个Promise,实现过程用到了以下的知识点 闭包 事件循环 typeo...

  • 如何用es5实现继承

    extend (继承) 如何用 es5 实现继承 测试 结果 原文链接

  • 2+2=5

    有些书,很容易为其所动,有时我会哭泣,有时我会大喜。这些都不足为怪,但是唯有《1984》让我看的后背一阵一阵的发凉...

  • 2+2=5

    文/(百度)雅楠 这是理性学堂的一位女学生的思考,当我看到的时候我有些惊讶了,对于大多数还在懵懵懂懂的思考大学生活...

网友评论

    本文标题:如何用JavaScript实现2+2=5?

    本文链接:https://www.haomeiwen.com/subject/tpexfqtx.html