昼猫笔记 – 面试题第二期(2019.1.15)
从今天开始呢,关于Js的干货、还有面试题可能不会达到一天一更,不过我会在间隔的时间找更多的有意思的题分享给大家
一、查看下列代码,请问执行后弹出什么值
var name = "World!";
(function () {
var name;
if (typeof name === 'undefined') {
name = 'Jack';
console.log('Goodbye' + name);
} else {
console.log('hello' + name);
}
})();
分析:
变量声明提升,JS代码分为存储模块和执行模块。
在这里我们应该清楚,当函数内部变量与全局变量同名时 全局变量会被覆盖 因为js是单线程执行var name
当前没有赋值 所以类型为undefined
结果:Goodbye Jack
二、考察Math、call、apply
语句var arr=[a,b,c,d];
执行后,数组arr中每项都是一个整数,下面得到其中最大整数语句正确的是哪几项?(选择多个)
A. Math.max(arr)
B. Math.max(arr[0], arr[1], arr[2], arr[3])
C. Math.max.call(Math, arr[0], arr[1], arr[2], arr[3