只有JS基础扎实的攻城狮,才解得出的“密码”

HTML5学堂-码匠:虽然很不想面对,但是明天,的确是节后工作的开始,今天就一边解密一边“适应”一下代码吧!

Tips:如下的四道题目,是基于几家公司的面试真题进行了改编和优化。

解密热身开始!

如下四题难度递增,建议按照顺序查看。题目的答案位于文章最底部。

热身题目1

热身题目2

热身题目3

热身题目4

在这4道热身题目当中,主要涉及的是无穷(Infinity)、undefined、NaN、布尔值与数字的转换、数字字符串的隐式转换等知识。

以上知识均为前端开发必备的基础JS知识。

上面的太简单?!

感觉上面的题目太easy?那,一起来揭开这个“尘封”已久的秘密吧!

传说距今1800年前,企图灭亡人类,并试图把一切都化为虚无的魔神,大蛇及其爪牙…………

额,Sorry,是早在864,000,000毫秒以前(十天前),这个谜题诞生了!

备注:该题目为HTML5学堂(码匠)设计制作的,并非行内面试题,设计该题目的主要目的有二,其一是希望大家可以利用该问题检测一下自己的JS基础知识掌握情况,其二则是为JS基础知识带来一定的趣味性。

谜题

主要涉及JS方面的基础语法知识,那么,如下的这个题目,到底会打印出什么样的结果呢?(由于代码长度较大,把部分结构标签合并到了同一行,另,以纵向形式显示,请横屏查看!)

Tips:如果在解密过程中,遇到了一些问题,或卡壳,可以参照谜题提示,在后面给出了谜题主要涉及到的JS基础知识。

祝解密愉快!

谜题提示

  • 超过170的大数,阶乘(如上代码为300!)的结果为Infinity(无穷)
  • 当window对象转换为字符串时,为 "[object window]"
  • ~ 和 >>均为位运算,前者表示按位取反,0取反为-1,>>表示二进制下的右移,右移后面是移动的位数(52 >> 2,可以理解为十进制的52除以4,或者理解为110100右移两位编程1101)
  • fromCharCode和charCodeAt,为 ASCII码值 与 字符 互相转换的方法
  • 在函数中使用arguments.callee指向的是函数本身
  • this指向的是函数的所有者

谜题涉及主要知识

这些方法当中,除了少数属于相对“较偏”的知识,大多数都是攻城狮必备的知识和技能!(不同类型已在如下列表中标注)

  • 【必备】JS中Number数字的数值范围
  • 【必备】Infinity进行数学运算时的运算规则
  • 【必备】typeof数据类型检测
  • 【较偏】ASCII码值与字符之间的转换方法
  • 【较偏】位运算(此处涉及按位取反和右移)
  • 【必备】字符串的splice方法
  • 【必备】数组的join、push方法
  • 【必备】DOM操作中,获取标签以及获取标签名字的方法
  • 【必备】this的基本指向
  • 【必备】arguments相关知识

什么?你问有公司会出这种题目吗?

当然………………不会!

没有什么公司会这样变态的!

反正入行五六年,我还没有看到过这么变态的题目……以后要是真有的话,呃…………告他侵权~

怎样?有没有感觉眼前一亮!

什么?没有!!!反而让你眼前一黑?!

好吧,看来我只能用出究极招式了!

热身题目答案揭晓

第一题:26(数字类型)

第二题:224(字符串类型)

第三题:Infinity4(字符串类型)

第四题:6(数字类型)

开开心心每一天

生活艰辛,代码不易,但,不要忘记微笑!

版权声明:该图来自“【美】莉兹·克里莫 (author)”的书籍《你今天真好看》

原文发布于微信公众号 - HTML5学堂(h5course-com)

原文发表时间:2017-10-08

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏CodeSheep的技术分享

函数式编程思维在三行代码情书中的应用

1865
来自专栏微信终端开发团队的专栏

Kotlin-Android的另一番风味

微信 订阅号助手 的Android App项目首次尝试使用Kotlin进行大规模的业务开发(483个Kt文件,3.8W行不包含空行的Kt代码),一开始接触Ko...

8.8K4
来自专栏Java面试笔试题

简述一下面向对象的”六原则一法则”

702
来自专栏CDA数据分析师

Excel简化办公系列之一 | VLOOKUP代替IF函数

本文为CDA作者青菜原创文章,转载请注明来源 编者按:CDA作者青菜将在近期发布「Excel简化办公」系列文章,本文是第一篇;更多精彩请持续关注~ 在日常工作...

2169
来自专栏AzMark

Python函数的介绍

1176
来自专栏Java面试笔试题

面向对象的"六原则一法则"

802
来自专栏斑斓

从map函数引发的讨论

只要你用心,一个细小问题可以引起对一系列设计原则的思考与回味。软件设计与开发技能就是这样通过不停“反刍”与思索而磨砺出来的。当然,对一些实践案例进行升华,进而抛...

3489
来自专栏更流畅、简洁的软件开发方式

《你必须知道的.net》读书笔记 001——1.1 对象的旅行

    好久没看书了,上次看书的时候还是一年前了,一个偶然的机会,比较系统的看了一下OO的基础,封装、继承、多态等,当时真的是很不会,看了也是一知半解,迷迷...

1829
来自专栏精讲JAVA

面向对象VS面向过程

1 前言 向伟人致敬 其实这个问题真的是被问烂了,特别是刚入门的同行,我感觉这个问题应该是大家都听说过了,但是有多少人真的是理解这两个区别呢,这两...

1825
来自专栏Android知识点总结

06--图解数据结构之递归小例子

794

扫码关注云+社区