前端面试,那些最熟悉的陌生题

原创 uptown 随笔 js 630阅读 2018-09-14 17:22:39 举报

1、console.log 怎么打印有颜色的字体?
答案:

2、“15”+5 的结果是?“15”-5 的结果是?

答案:“155”,10
运算符要求两个操作数都是数字,如果不是,会强制转换成数字,所以结果就变成了:15 - 5 = 10

3、1 + - + + + - + 1 结果是?

答案:2

4、(function() {  var x = y = 1;})(); console.log(x); 结果是?
console.log(y);结果是?

答案:x is not defined,1

5、var arr1 = [1,2],arr2=[1,2],arr3 = arr1;

  1)、arr1 === arr2; arr1 === arr3 结果是?

  2)、[]==[]; [1,2]==[1,2] 结果是?

答案:1). false,true 2).false,false

6、请问 (function(i){  return i || "Tuesday" },"Monday") 的结果是什么?

答案:"Monday"

7、console.log(1&&2), console.log(1||2) 结果是

答案:2,1

8、假设数组 company 中存放多个人员的信息,每个人员信息由 名字 name 和年龄 age组成,如{name:"Marc",age:18},用JS按从年龄小到大排序。

答案:company.sort((a,b)=>a.age-b.age); console.log(company);

9、执行下面的函数,会输出什么?

答案:1,3

10、有数组 var arr= [1,2,3],哪些方法可以判断是 Array 类型?

答案:
1)、arr instanceof Array;
2)、arr.constructor === Array
3)、Array.prototype.isPrototypeOf(arr)
4)、Array.isArray(arr)
5)、{}.toString.call(arr)==="[object Array]" //等同:Object.prototype.toString.call(arr)==="[object Array]"

11、var a = b = c = d = 1; 那么 console.log(++a,--b,c++,d--) 分别是多少?

答案:2,0,1,1

12、var n = "hello "; n.name = "world"; 那么 console.log(n + n.name) 会输出什么?

答案:hello undefined

13、var min = Math.min(),max = Math.max();
那么 console.log(min < max) 结果是?

答案:false //实际 min>max,
因为:Math.min: 如果没有参数,结果为Infinity
Math.max:如果没有参数,结果为-Infinity。

14、执行下面的函数,会输出什么?

答案:undefined,undefined,2
考察全局/局部变量、变量提升、this 指向等

15、执行下面的代码,会输出什么?

答案:["1", empty × 2]

16、匿名函数和箭头函数有什么不同?
答案:
1).函数体内的this对象,就是定义时所在的对象,而不是使用时所在的对象
2).不可以当作构造函数,也就是说,不可以使用new命令,否则会报错
3).不可以使用arguments对象,该对象在函数体内不存在。如果要用,可以用 rest 参数代替

17、数组操作,给定数组 var arr = [4,0,1,0,2,3,6,0,5]:
1)、如果数组中前一项值大于后一项,则交换位置,求结果!
2)、数组 arr 和一个整数 x,将数组中值为x的元素都放到数组前面,其他元素的顺次不变,假定 x = 0。
1)、

2)、

答案:1)、[0,1,0,2,3,4,0,5,6] *需注意索引 i 是字符串类型,而不是 数字
2)、[0, 0, 0, 4, 1, 2, 3, 6, 5]

评论 ( 0 )
最新评论
暂无评论

赶紧努力消灭 0 回复