10个 JavaScript 变态题解析

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

10个JavaScript 变态题解析

——动力节点java

今天有参加面试的同学,发给了动宝儿10个超级变态面试题,说是让我也感受一下这个酸爽,动宝儿想,独乐乐不如众乐乐,分享给大家感受一下。

第1题

答案还是111111111111111110000. 解释是Lack of precision for numbers in JavaScript affects both small and big numbers.但是笔者不是很明白……………. 请读者赐教!

第2题

这个题有意思!

知识点:

Array/reverse

The reverse method transposes the elements of the calling array object in place,

mutating the array, and returning a reference to the array.

也就是说最后会返回这个调用者(this), 可是x 执行的时候是上下文是全局. 那么最后返

回的是window.

答案是window

第3题

true

第4题

这个题也还可以.

这个题会让人误以为是2 > 1 && 2 < 3其实不是的.

这个题等价于

答案是[true, true]

第5题

这个题我是猜的. 我猜的true, 至于为什么…..

both objects get converted to strings and in both cases the resulting string is "2"我不能信服…

第6题

这个题也挺逗, 我做对了答案是error, '3', error

你如果换一个写法就更费解了

这个答案就是'3';

为啥呢?

因为在js 中1.1, 1., .1都是合法的数字. 那么在解析3.toString的时候这个.到底是属于这个数字还是函数调用呢? 只能是数字, 因为3.合法啊!

第7题

答案是1, error

y 被赋值到全局. x 是局部变量. 所以打印x 的时候会报ReferenceError

第8题

即使正则的字面量一致, 他们也不相等.

答案false, false

第9题

字面量相等的数组也不相等.

数组在比较大小的时候按照字典序比较

答案false, false, false, true

第10题

知识点:

Object/getPrototypeOf

只有Function 拥有一个prototype 的属性. 所以a.prototype为undefined.

而Object.getPrototypeOf(obj)返回一个具体对象的原型(该对象的内部[[prototype]]值)

答案false, true

相关文档
最新文档