前端面试题JavaScript篇——2022-09-21

每日3题

1 以下代码执行后,控制台中的输出内容为?

class A {
  static a = "123";
}
class B extends A {}
console.log(B.a);

2 以下3句语句,哪句是合法的

1.toString();
1..toString();
1...toString();

3 以下代码执行后,控制台中的输出内容为?

const a = [
  [0, 1],
  [2, 3],
].reduce(
  (pre, cur) => {
    return pre.concat(cur);
  },
  [1, 2]
);

console.log(a);
  • 公众号【今天也要写bug】更多前端面试题

答案及解析

1

// 答案:123
// 考察:ES6 class
// JS 中,类是特殊的函数
// typeof A = 'function'
// 所以 A、B 同时也是对象
// B 继承 A 以后,B.__proto__ 指向 A
class A {
  static a = "123"; // 静态属性直属于 A
}
class B extends A {}
console.log(B.a); // B.a 顺着原型链找到 A.a 故输出 123

2

// 如果对数字字面量使用方法,. 会被优先识别为小数点
// 在 JS 中, .1 1. 都是合法的数字
1.toString(); // 相当于(1.)toString(),明显错误
1..toString(); // 相当于(1.).toString(),合法
1...toString(); // 相当于(1.)..toSring(),非法

3

// 答案:[ 1, 2, 0, 1, 2, 3 ]
// 考察数组常用方法
// concat 用来拼接数组,返回新数组
// reduce 用来遍历数组,得到一个计算值
const a = [
  [0, 1],
  [2, 3],
].reduce(
  (pre, cur) => {
    return pre.concat(cur);
  },
  [1, 2]
);

console.log(a); // [ 1, 2, 0, 1, 2, 3 ]
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值