Loading [MathJax]/jax/output/CommonHTML/config.js
前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >只有JS基础扎实的攻城狮,才解得出的“密码”

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

作者头像
HTML5学堂
发布于 2018-03-13 08:52:27
发布于 2018-03-13 08:52:27
1.3K0
举报
文章被收录于专栏: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 删除。

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

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
【刷题】一篇文章搞定“位运算”
如果涉及到数组或者运算,经常就需要使用位运算来巧妙的解决这些问题。那么接下来我们来学习这个算法
叫我龙翔
2024/05/26
940
【刷题】一篇文章搞定“位运算”
「面试基础小册」数据类型及其延伸
「面试基础小册」系列正式开写。主要是对一些基础相关的知识进行归纳整理与拓展。后续还有更多,敬请期待
小皮咖
2020/07/03
7030
Java入门基础知识点总结(详细篇)
定义:被Java语言赋予了特殊含义,用做专门用途的字符串(单词) 特点:关键字中所有字母都为小写
全栈程序员站长
2022/09/08
4.8K0
Java入门基础知识点总结(详细篇)
暑假冲刺2023年信息学CSP-J/S(专项突破):精选8道【进制转换】历年真题并附带视频讲解
CSP-J/S的认证者报名就是参赛者报名于7月17号就要开始,离9月16号的第一轮认证考试只有2个月的时间,看似还有2个月时间,其实还是非常紧张的。
小码匠
2023/08/31
7780
Python0基础(中)——期末不挂科
虽然我不知道你是谁,但是还是感谢,今天熬个夜来再肝一篇,秋名山路很长,也希望我们能一起走下去!
秋名山码神
2022/12/13
5240
Python0基础(中)——期末不挂科
Python基础知识——(005)
“左移位”运算(<<)是将一个二进制数向左移动指定的位数,左边(高位端)溢出的位被丢弃,右边(低位端)的空位用0补充。
JOYCE_Leo16
2024/07/25
1170
Python基础知识——(005)
Java 语言基础 (初识Java语言, 变量和数据类型, 运算符, 流程控制语句, 数组)
ArrayIndexOutOfBoundsException 数组下标越界异常ArithmeticException 算术异常
RendaZhang
2020/09/08
4610
操作符详解(这么详细的操作符介绍你确定不看一看?)【C语言】【附试题详解】
操作符的分类:算数操作符、移位操作符、位操作符、赋值操作符、单目操作符、关系操作符、逻辑操作符、条件操作符、逗号表达式、(下标引用、函数调用和结构成员)。
see.
2024/06/04
1210
操作符详解(这么详细的操作符介绍你确定不看一看?)【C语言】【附试题详解】
Java语言位运算符详解
很多编程语言都有位运算符,Java语言也不例外。在Java语言中,提供了7种位运算符,分别是按位与(&)、按位或(|)、按位异或(^)、取反(~)、左移(<<)、带符号右移(>>)和无符号右移(>>>)。这些运算符当中,仅有~是单目运算符,其他运算符均为双目运算符。在讲解这些运算符的使用之前,必须了解一个常识,那就是:位运算符是对long、int、short、byte和char这5种类型的数据进行运算的,我们不能对double、float和boolean进行位运算操作。下面就来详细讲解这7种位运算符的使用方法。
科技新语
2025/03/07
1440
Java语言位运算符详解
LeetCode通关:求次数有妙招,位运算三连
大家好,我是刷题困难户老三,这一节我们来刷几道很有意思的求次数问题,它们都有同一类非常巧妙的解法。
三分恶
2021/08/06
3740
Python全网最全基础课程笔记(四)——基本数据类型
基本数据类型是Python中最基础的数据类型,它们用于存储单个值。Python中的基本数据类型包括:
小白的大数据之旅
2024/11/20
2340
Python全网最全基础课程笔记(四)——基本数据类型
原生JS | 当兔子遇到鸡
HTML5学堂-码匠:当兔子遇到鸡,会怎样呢?先别急,看个小视频~ 视频内容 当兔子遇到鸡 —— 不要害怕和别人不一样,在这个世界上,你就是独一无二的自己! 不知道有多少程序在看到这个小视频的时候,想到的不是“复活节”彩蛋,而是“鸡兔同笼问题”…… 如果你想到的是“鸡兔同笼”,那么恭喜你,至少你不是一个人……(表示看到兔子从蛋里钻出来的时候,竟然完全没有怀疑 )。 鸡兔同笼问题 鸡兔同笼-起源 “鸡兔同笼问题”是我国古算书《孙子算经》中著名的数学问题,其内容是:“今有雉(鸡)兔同笼,上有三十五头,下有九十四
HTML5学堂
2018/03/13
2.1K0
原生JS | 当兔子遇到鸡
详解7类Python运算符及代码举例
运算符是运算法则的具体体现。Python提供了算术运算符、赋值运算符、比较运算符、逻辑运算符、位运算符、身份运算符和成员运算符7类运算符,从而实现了丰富多样的运算功能。
IT阅读排行榜
2019/10/11
1.2K0
每日面试题推送及讲解-20190409
第一题是对于Java运算符的考核,位运算符主要是针对二进制,整型(byte、char、short、int、long)数据类型的二进制进行的移位操作。运算符其中有以下几种:
每天学Java
2020/06/02
3310
【C语言系列】操作符的详解
我们可以看出C语言中大概有12种常见的操作符,而部分操作符是我们前面介绍过的,忘了的可以用以下链接来复习以下:https://blog.csdn.net/2301_80179750/article/details/141575238?fromshare=blogdetail&amp;sharetype=blogdetail&amp;sharerId=141575238&amp;sharerefer=PC&amp;sharesource=2301_80179750&amp;sharefrom=from_link,而我们今天要学的部分操作符与二进制有关,下面我们先介绍一下与二进制有关的知识,为后面要学的操作符铺垫。
四念处茫茫
2025/02/07
1290
【C语言系列】操作符的详解
C语言程序设计核心详解 第十章:位运算和c语言文件操作详解_文件操作函数
计算机流程是将按位取反的数转换为2进制数,这个2进制数按位取反,然后再转换回原来的进制
小徐在进步
2024/10/07
1130
C语言程序设计核心详解 第十章:位运算和c语言文件操作详解_文件操作函数
窥探Swift之需要注意的基本运算符和高级运算符
  之前更新了一段时间有关Swift语言的博客,连续更新了有6、7篇的样子。期间间更新了一些iOS开发中SQLite、CollectionViewController以及ReactiveCocoa的一些东西。时隔两月,还得继续更新Swift语言的东西不是。在去年翻译《Swift编程入门经典》(Swift1.0版本,基于Xcode6)这本书时,系统的搞了搞Swift语言,接下来的一段时间内打算持续更新一下相关Swift语言的一些东西, 不过现在已经是Swift2.0版本了,区别还是不小的。并且目前在工作中正重
lizelu
2018/01/11
1.1K0
窥探Swift之需要注意的基本运算符和高级运算符
python基础-变量运算符(3)
注释就是对代码的解释和说明。目的是为了让别人和自己很容易看懂。为了让别人一看就知道这段代码是做什么用的。正确的程序注释一般包括序言性注释和功能性注释。序言性注释的主要内容包括模块的接口、数据的描述和模块的功能。模块的功能性注释的主要内容包括程序段的功能、语句的功能和数据的状态。–来自百度百科
Se7eN_HOU
2019/06/28
6570
python基础-变量运算符(3)
Python全网最全基础课程笔记(三)——所有运算符+运算符优先级
Python中的运算符优先级决定了在包含多个运算符的表达式中,各个运算符的执行顺序。优先级高的运算符会先于优先级低的运算符执行。以下是Python中所有运算符的优先级列表,按照从高到低的顺序排列。
小白的大数据之旅
2024/11/20
3440
Python全网最全基础课程笔记(三)——所有运算符+运算符优先级
4、Python运算符
Python语言支持逻辑运算符,但是没有其它语言中的&&和||语法。 取而代之的是更加人性化的英文单词and or not (全部都是小写字母)
度假的小鱼
2023/11/04
2830
4、Python运算符
推荐阅读
相关推荐
【刷题】一篇文章搞定“位运算”
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档