
前端面试秘籍
我是「齐丶先丶森」,公众号「前端面试秘籍」作者,收集整理全网面试题及面试技巧,旨在帮助前端工程师们找到一份好工作!Github地址:https://github.com/yisainan/web-interview,欢迎Star
手掌日月摘星辰
这个作者很懒,什么都没留下…
展开
-
前端打包工具rollup、webpack、vite的区别
rollup更适合打包库,webpack更适合打包项目,vite基于rollup实现了热更新也适合打包项目。原创 2022-08-15 16:17:17 · 1367 阅读 · 0 评论 -
选择篇(067)-下面代码的输出是什么?
考察:解构赋值原创 2022-08-08 15:02:43 · 188 阅读 · 0 评论 -
选择篇(066)-下面代码的输出是什么?
考察:delete操作符原创 2022-08-08 14:59:29 · 186 阅读 · 0 评论 -
选择篇(065)-下面代码的输出是什么?
考察:export与import原创 2022-08-08 14:57:32 · 181 阅读 · 0 评论 -
Vue篇(010)-vue3如何通过ref属性获取元素
参考答案:1.在template中的写法跟vue2一样,给元素添加个ref=‘xxx’2.在setup中,先创建一个响应式数据,并且要把响应式数据暴露出去3.当元素被创建出来的时候,就会给对应的响应数据赋值4.当响应式数据被赋值之后,就可以利用生命周期方法onMounted中获取对应的响应式数据,即DOM元素解析...原创 2022-07-28 10:08:13 · 2206 阅读 · 0 评论 -
Vue篇(009)-vue 组件中 data 为什么必须是函数
在newVue()中,data是可以作为一个对象进行操作的,然而在component中,data只能以函数的形式存在,不能直接将对象赋值给它,这并非是Vue自身如此设计,而是跟JavaScript特性相关,我们来回顾下JavaScript的原型链。...原创 2022-07-28 10:04:02 · 264 阅读 · 0 评论 -
Vue篇(008)-vue2.0中的$router 和 $route的区别
参考答案:$route 是路由信息对象,包括path,params,hash,query,fullPath,matched,name 等路由信息参数;而 $router 是路由实例对象,包括了路由的跳转方法,钩子函数等。解析原创 2022-03-04 09:09:21 · 463 阅读 · 0 评论 -
选择篇(064)-下面代码的输出是什么?
const set = new Set([1, 1, 2, 3, 4]);console.log(set);A: [1, 1, 2, 3, 4]B: [1, 2, 3, 4]C: {1, 1, 2, 3, 4}D: {1, 2, 3, 4}参考答案原创 2022-03-04 09:03:15 · 183 阅读 · 0 评论 -
选择篇(063)-下面代码的输出是什么?
class Dog { constructor(name) { this.name = name; }}Dog.prototype.bark = function() { console.log(`Woof I am ${this.name}`);};const pet = new Dog("Mara");pet.bark();delete Dog.prototype.bark;pet.bark();A: "Woof I am Mara", TypeErro原创 2022-03-04 09:02:22 · 180 阅读 · 0 评论 -
选择篇(062)-下面代码的输出是什么?
(() => { let x = (y = 10);})();console.log(typeof x);console.log(typeof y);A: "undefined", "number"B: "number", "number"C: "object", "number"D: "number", "undefined"参考答案原创 2022-03-04 09:00:46 · 246 阅读 · 0 评论 -
选择篇(061)-下面代码的输出是什么?
function Car() { this.make = "Lamborghini"; return { make: "Maserati" };}const myCar = new Car();console.log(myCar.make);A: "Lamborghini"B: "Maserati"C: ReferenceErrorD: TypeError参考答案原创 2022-03-04 08:59:26 · 201 阅读 · 0 评论 -
选择篇(060)-下面代码的输出是什么?
function greeting() { throw "Hello world!";}function sayHi() { try { const data = greeting(); console.log("It worked!", data); } catch (e) { console.log("Oh no an error!", e); }}sayHi();A: "It worked! Hello world!"B: "Oh no an原创 2022-03-04 08:57:40 · 169 阅读 · 0 评论 -
选择篇(059)-下面代码的输出是什么?
function getInfo(member, year) { member.name = "Lydia"; year = "1998";}const person = { name: "Sarah" };const birthYear = "1997";getInfo(person, birthYear);console.log(person, birthYear);A: { name: "Lydia" }, "1997"B: { name: "Sarah" }, "19原创 2022-03-04 08:55:55 · 202 阅读 · 0 评论 -
选择篇(058)-下面代码的输出是什么?
[1, 2, 3].map(num => { if (typeof num === "number") return; return num * 2;});A: []B: [null, null, null]C: [undefined, undefined, undefined]D: [ 3 x empty ]参考答案原创 2022-03-04 08:52:51 · 179 阅读 · 0 评论 -
选择篇(057)-下面代码的输出是什么?
const num = parseInt("7*6", 10);A: 42B: "42"C: 7D: NaN参考答案原创 2022-03-04 08:51:25 · 180 阅读 · 0 评论 -
选择篇(056)-下面代码的输出是什么?
console.log(3 + 4 + "5");A: "345"B: "75"C: 12D: "12"参考答案原创 2022-03-04 08:50:18 · 239 阅读 · 0 评论 -
选择篇(055)-下面代码的输出是什么?
const person = { name: "Lydia", age: 21};for (const item in person) { console.log(item);}A: { name: "Lydia" }, { age: 21 }B: "name", "age"C: "Lydia", 21D: ["name", "Lydia"], ["age", 21]参考答案原创 2022-03-01 10:53:15 · 209 阅读 · 0 评论 -
选择篇(054)-下面代码的输出是什么?
let person = { name: "Lydia" };const members = [person];person = null;console.log(members);A: nullB: [null]C: [{}]D: [{ name: "Lydia" }]参考答案原创 2022-03-01 10:51:55 · 153 阅读 · 0 评论 -
选择篇(053)-下面代码的输出是什么?
const firstPromise = new Promise((res, rej) => { setTimeout(res, 500, "one");});const secondPromise = new Promise((res, rej) => { setTimeout(res, 100, "two");});Promise.race([firstPromise, secondPromise]).then(res => console.log(res));原创 2022-03-01 10:50:54 · 190 阅读 · 0 评论 -
选择篇(052)-下面代码的输出是什么?
function* generator(i) { yield i; yield i * 2;}const gen = generator(10);console.log(gen.next().value);console.log(gen.next().value);A: [0, 10], [10, 20]B: 20, 20C: 10, 20D: 0, 10 and 10, 20参考答案原创 2022-03-01 10:49:54 · 218 阅读 · 0 评论 -
选择篇(051)-下面代码的输出是什么?
[...'Lydia']A: ["L", "y", "d", "i", "a"]B: ["Lydia"]C: [[], "Lydia"]D: [["L", "y", "d", "i", "a"]]参考答案原创 2022-02-22 15:58:13 · 215 阅读 · 0 评论 -
选择篇(050)-setInterval 方法的返回值是什么?
setInterval(() => console.log('Hi'), 1000)A: 一个唯一的idB: 该方法指定的毫秒数C: 传递的函数D: undefined参考答案原创 2022-02-17 09:21:34 · 2245 阅读 · 0 评论 -
选择篇(049)-下面代码的输出是什么?
!!null!!''!!1A: false true falseB: false false trueC: false true trueD: true true false参考答案原创 2022-02-17 09:20:23 · 216 阅读 · 0 评论 -
选择篇(048)-下面代码的输出是什么?
[[0, 1], [2, 3]].reduce( (acc, cur) => { return acc.concat(cur) }, [1, 2])A: [0, 1, 2, 3, 1, 2]B: [6, 1, 2]C: [1, 2, 0, 1, 2, 3]D: [1, 2, 6]参考答案原创 2022-02-17 09:16:57 · 234 阅读 · 0 评论 -
选择篇(047)-JavaScript中的所有内容都是…
A:原始或对象B:函数或对象C:技巧问题!只有对象D:数字或对象参考答案原创 2022-02-17 09:15:44 · 371 阅读 · 0 评论 -
选择篇(046)-下面代码的输出是什么?
(() => { let x, y try { throw new Error() } catch (x) { (x = 1), (y = 2) console.log(x) } console.log(x) console.log(y)})()A: 1 undefined 2B: undefined undefined undefinedC: 1 1 2D: 1 undefined undefined参考答案原创 2022-02-17 09:13:44 · 357 阅读 · 0 评论 -
选择篇(045)-下面代码的输出是什么?
const numbers = [1, 2, 3]numbers[10] = 11console.log(numbers)A: [1, 2, 3, 7 x null, 11]B: [1, 2, 3, 11]C: [1, 2, 3, 7 x empty, 11]D: SyntaxError参考答案原创 2022-02-17 09:12:39 · 215 阅读 · 0 评论 -
选择篇(044)-下面代码的输出是什么?
console.log(typeof typeof 1)A: "number"B: "string"C: "object"D: "undefined"参考答案原创 2022-02-17 09:11:17 · 266 阅读 · 0 评论 -
选择篇(043)-下面这些值哪些是假值?
0new Number(0)('')(' ')new Boolean(false)undefinedA: 0, '', undefinedB: 0, new Number(0), '', new Boolean(false), undefinedC: 0, '', new Boolean(false), undefinedD: All of them are falsy参考答案原创 2022-02-14 15:11:30 · 234 阅读 · 0 评论 -
选择篇(042)-下面代码的输出是什么?
function sayHi() { return (() => 0)()}typeof sayHi()A: "object"B: "number"C: "function"D: "undefined"参考答案原创 2022-02-14 15:10:03 · 401 阅读 · 0 评论 -
选择篇(041)-下面代码的输出是什么?
const person = { name: 'Lydia' }function sayHi(age) { console.log(`${this.name} is ${age}`)}sayHi.call(person, 21)sayHi.bind(person, 21)A: undefined is 21 Lydia is 21B: function functionC: Lydia is 21 Lydia is 21D: Lydia is 21 function参考答案原创 2022-02-14 15:09:02 · 314 阅读 · 0 评论 -
选择篇(040)-当您单击该段落时,日志输出是什么?
<div onclick="console.log('div')"> <p onclick="console.log('p')"> Click here! </p></div>A: p divB: div pC: pD: div参考答案原创 2022-02-14 15:06:46 · 460 阅读 · 0 评论 -
选择篇(039)-当点击按钮时,event.target是什么?
<div onclick="console.log('first div')"> <div onclick="console.log('second div')"> <button onclick="console.log('button')"> Click! </button> </div></div>A: Outer divB: Inner divC: buttonD: 一个包含所有原创 2022-02-14 15:05:53 · 629 阅读 · 0 评论 -
选择篇(038)-下面代码的输出是什么?
const foo = () => console.log('First')const bar = () => setTimeout(() => console.log('Second'))const baz = () => console.log('Third')bar()foo()baz()A: First Second ThirdB: First Third SecondC: Second First ThirdD: Second Third First原创 2022-02-14 15:04:22 · 307 阅读 · 0 评论 -
选择篇(037)-下面代码的输出是什么?
const a = {}const b = { key: 'b' }const c = { key: 'c' }a[b] = 123a[c] = 456console.log(a[b])A: 123B: 456C: undefinedD: ReferenceError参考答案原创 2022-02-14 15:02:42 · 187 阅读 · 0 评论 -
选择篇(036)-下面代码的输出是什么?
for (let i = 1; i < 5; i++) { if (i === 3) continue console.log(i)}A: 1 2B: 1 2 3C: 1 2 4D: 1 3 4参考答案原创 2022-02-14 15:01:28 · 140 阅读 · 0 评论 -
选择篇(035)-JavaScript 全局执行上下文为你做了两件事:全局对象和 this 关键字?
A: 对B: 错误C: 视情况而定参考答案原创 2022-02-14 15:00:23 · 567 阅读 · 0 评论 -
选择篇(034)-下面代码的输出是什么?
const obj = { a: 'one', b: 'two', a: 'three' }console.log(obj)A: { a: "one", b: "two" }B: { b: "two", a: "three" }C: { a: "three", b: "two" }D: SyntaxError参考答案原创 2022-02-14 14:57:51 · 278 阅读 · 0 评论 -
选择篇(033)-下面代码的输出是什么?
const obj = { 1: "a", 2: "b", 3: "c" };const set = new Set([1, 2, 3, 4, 5]);obj.hasOwnProperty("1");obj.hasOwnProperty(1);set.has("1");set.has(1);A: false true false trueB: false true true trueC: true true false trueD: true true true true参考原创 2022-02-11 17:26:59 · 375 阅读 · 0 评论 -
选择篇(032)-下面代码的输出是什么?
var num = 8;var num = 10;console.log(num);A: 8B: 10C: SyntaxErrorD: ReferenceError参考答案原创 2022-02-11 17:23:12 · 254 阅读 · 0 评论