前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >只有JS基础扎实的攻城狮,才解得出的“密码”

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

作者头像
HTML5学堂
发布2018-03-13 16:52:27
1.2K0
发布2018-03-13 16:52:27
举报
文章被收录于专栏:HTML5学堂HTML5学堂
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)”的书籍《你今天真好看》

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2017-10-08,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 懂点君 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档