首页 > 编程语言 >前端面试题JavaScript篇——2022-09-20

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

时间:2022-09-20 17:25:35浏览次数:74  
标签:面试题 console log sum 09 value multiply 20

每日3题

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

// index.js
console.log(1);
import { sum } from "./sum.js";
console.log(sum(1, 2));
 
//sum.js
console.log(2);
export const sum = (a, b) => a + b;

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

const value = { number: 10 };
const multiply = (x = { ...value }) => {
  console.log((x.number *= 2));
};
multiply();
multiply();
multiply(value);
multiply(value);

3 以下代码在浏览器的控制台中执行后,页面会发生什么变化

[].forEach.call($$("*"), function (a) {
  a.style.outline =
    "1px solid red"
});
  • 公众号【今天也要写bug】更多前端面试题

答案及解析

1

// 答案:2 1 3
// 考察 es6 模块化
// import 命令是在编译阶段执行的
// 并且 import 具有提升效果,会提升到整个模块的头部
// 所以模块合并后相当于:
console.log(2);
export const sum = (a, b) => a + b;
console.log(1);
console.log(sum(1, 2));
// 因此最终输出 2 1 3

// 源代码
// index.js
console.log(1);
import { sum } from "./sum.js";
console.log(sum(1, 2));

//sum.js
console.log(2);
export const sum = (a, b) => a + b;

2

// 答案:20 20 20 40
// ES6 可以为函数参数指定默认值
const value = { number: 10 };
const multiply = (x = { ...value }) => {
  console.log((x.number *= 2));
};
multiply(); // 未传参,使用默认值,x={ number: 10 },此对象不是 value,而是一个新对象,输出 20
multiply(); // 同上,x={ number: 10 },也是一个新对象,输出 20
multiply(value); // 传了参数,x=value,输出 20,并且改变了 value.number
multiply(value); // x=value,输出 40,并且改变了 value.number

3

// 答案:页面中的所有元素会被添加红色轮廓
// $$() 函数是浏览器提供的命令行 API,相当于 document.querySelectorAll()
// $$('*') 会选择页面中的所有元素,得到一个数组
[].forEach.call($$("*"), function (a) {
  a.style.outline = "1px solid red";
});
// call() 方法使用一个指定的 this 值和单独给出的一个或多个参数来调用一个函数。
// 这里 this 是元素数组,参数是一个函数 function(a){...}
// 数组的 forEach 方法接收一个回调函数即此处的 function(a) {...}
// 等价于:
[所有元素].forEach(function (a) {
  a.style.outline = "1px solid red";
});

标签:面试题,console,log,sum,09,value,multiply,20
From: https://www.cnblogs.com/bidong/p/16711759.html

相关文章

  • webstrom ——activation code (最新2022.9.20)
    右键-->全选-->复制,粘贴到Activationcode中4U1192YQAG-eyJsaWNlbnNlSWQiOiI0VTExOTJZUUFHIiwibGljZW5zZWVOYW1lIjoi5rC45LmF5r+A5rS7IHd3d8K3YWppaHVvwrdjb20iLCJhc3NpZ2......
  • 20220920测试总结
    题目还是挺爽的。P2327[SCOI2005]扫雷原题链接题目分析我们设\(a[i]\)为第\(i\)行的数字,显然如果满足\(a[1]=3\veea[n]=3\)时,方案数为\(0\)呐等于\(0\)。所以接下来......
  • 【学习随笔】2022.9.20 Ceres
    代码来源为SLAM14讲ch6 1#include<iostream>2#include<opencv2/core/core.hpp>3#include<ceres/ceres.h>4#include<chrono>56usingnamespace......
  • 做题记录整理dp3 P1108. 低价购买(2022/9/20)
    P1108.低价购买第一问很明显是一个最长下降子序列第二问就是一个求方案数,有点难想的就是去重感觉这题难度标的有点偏高#include<bits/stdc++.h>#definefor1(i,a,b)......
  • 做题记录整理dp1 P1282. 多米诺骨牌(2022/9/20)
    P1282.多米诺骨牌我们可以把每张骨牌的差值塞进dp的维度了,就变成dpi,j表示前i块骨牌的差值为j的最小旋转次数就可以有递推方程dp[i,j]=max(dp[i-1,j-(a[i]-b[i])],dp[i......
  • 【解题报告】[JOISC 2014] 挂饰
    【我也不知道什么TM的系列】JOISC2014挂饰经典的传送门写这篇文章来告诉大家写贪心的重要性心路历程看到这道题第一印象:woc蓝题看了一下样例:woc水题贪了60分:woc......
  • 做题记录整理dp1 P1541. [NOIP2010 提高组] 乌龟棋(2022/9/20)
    P1541.[NOIP2010提高组]乌龟棋把每个牌选多少个塞进dp的四个维度里,就可以做到无后效性了#include<bits/stdc++.h>usingnamespacestd;#definefor1(i,a,b)for(ll......
  • 做题记录整理线段树2 P4513. 小白逛公园(2022/9/20)
    P4513.小白逛公园我们思考一个如何使用线段树维护这个答案,会发现l.r的答案=max(l,mid的答案,mid+1,r的答案,横跨两个区间的答案)那么我们现在再引入一个区间的最大前缀......
  • 【HMS Core】使用视频编辑AI能力SDK报错2012
    ​问题描述在使用视频编辑AI能力SDK报错20128详细报错信息2022-09-0516:16:48.3065571-6445/cn.c7cloud.ShortVideoAlbumE/FileUtil:IOException:java.io.FileNotF......
  • 2022第五空间-web部分wp+复盘总结
    打了一天,麻了,大佬tql,这次get到了不少东西,一是一个不太常见的宽字节注入,我是真的没想到,而且后面也是看了wp理解了好一会才弄明白。0x01:题目是一个登录框,但是基本上是过滤......