前端面试知识清单
文章平均质量分 55
像树_
这个作者很懒,什么都没留下…
展开
-
每天亿遍---最全前端手写代码题
前端面试手写代码题实在是我的一个弱项,加上面试时紧张会写不出来,下定决心要战胜它只要把它背的像身份证号码一样熟,面试就不再怕了所以总结了一下网上经典的、自己面试遇到过的手写代码题每天亿遍~~ 早日战胜手写代码题欢迎点赞收藏关注,后续会继续补充目录手写Promise、Promise.all、Promise.race手写jsonp手写instanceof手写call手写apply手写bind手写new手写ES5继承手写防抖debounce手写节流throttle手写Promise、Promise.原创 2021-10-22 17:19:56 · 310 阅读 · 0 评论 -
前端面试自测知识点--手写Promise
手写Promise手写Promise.resolve , Promise.reject, Promise.all, Promise.race/** * @description 手写Promise */class MyPromise { state = 'pending' // 状态 'pending' 'fulfilled' 'rejected' value = undefined // 成功后的值 reason = undefined // 失败后的值 resolveCa原创 2021-10-08 18:06:34 · 182 阅读 · 0 评论 -
前端面试自测知识点---HTML和CSS
HTML面试题如何理解HTML语义化?好处:让人更容易读懂(增加代码的可读性)让搜索引擎更容易读懂(SEO)举例:header 、footer、article、aside、nav默认情况下,哪些HTML标签是块级元素、哪些是内联元素?HTML可以将元素分类方式分为行内元素、块状元素和行内块状元素三种。首先需要说明的是,这三者是可以互相转换的,使用display属性能够将三者任意转换:(1)display:inline;转换为行内元素(2)display:block;转原创 2021-09-29 16:43:02 · 164 阅读 · 0 评论 -
前端面试自测知识清单----防抖和节流
函数防抖和节流防抖就是只执行最后一次,节流就是每隔一段时间执行一次防抖需求:持续触发时不执行不触发的一段时间后才执行解决:想要不触发一段时间后才执行,那就是需要定时器封装一个函数,让持续触发的事件监听是我们封装的这个函数,将目标函数作为回调(func)传进去,等待一段时间过后执行目标函function debounce(func, delay) { return function() { setTimeout(() => { func.appl原创 2021-09-07 22:25:53 · 453 阅读 · 2 评论 -
前端面试自测知识点---对象和对象相关的知识点、手写深拷贝
对象整体结构对象属性的简洁表达法属性名表达式对象里的方法不能使用箭头函数ES6提供的对象中函数的简洁写法:Object.is()`...`Object.assign对象的遍历方式深拷贝和浅拷贝属性的简洁表达法let name = "Lucy"let age = 16let s = "school"let obj = { name, age, s:"PKU"}console.log(obj) // 输出{name: "Lucy", age: 16, s: "PKU"}属性名表原创 2021-09-03 14:50:51 · 91 阅读 · 0 评论 -
前端面试自测知识点---箭头函数和普通函数的区别
箭头函数和普通函数的区别箭头函数this指向定义时所在的对象,而不是调用时所在的对象不可以当作构造函数不可以使用arguments对象1、语法更加简洁、清晰2、箭头函数不会创建自己的this我们先来看看MDN上对箭头函数this的解释。箭头函数不会创建自己的this,所以它没有自己的this,它只会从自己的作用域链的上一层继承this。箭头函数没有自己的this,它会捕获自己在定义时(注意,是定义时,不是调用时)所处的外层执行环境的this,并继承这个this值。所以,箭头函数中thi原创 2021-09-03 01:02:52 · 132 阅读 · 0 评论 -
前端面试自测知识点---new和手写new
newnew 操作一个构造函数或类来获取实例// ES5中的构造函数function Person(name, age){ this.name = name; this.age = age}Person.prototype.sayAge = function(){ console.log(`${this.name} is ${this.age} years old`)}var lucy = new Person("Lucy", 18)lucy.sayAge() // Lucy原创 2021-09-03 00:22:20 · 98 阅读 · 0 评论 -
前端面试自测知识点-原型链
原型链创建对象的几种方法原型、构造函数、实例、原型链instanceof原理new运算符创建对象的几种方法原型链类创建对象有几种方法:// 字面量var o1 = {name:"01"}var o11 = new Object({name:"o11"})// 通过构造函数// 任何一个函数 只要被new使用了,那么它就可以叫做构造函数var M = function(){ this.name = "o2"}var o2 = new M()// 通过Obj原创 2021-09-02 22:11:02 · 174 阅读 · 0 评论 -
前端面试自测知识点-- apply、call 和 bind
apply 和 callfunc.apply(thisArg, [argsArray]) // 第一个参数:必选,第二个:可选function.call(thisArg, arg1, arg2, ...) apply 传入的第一个参数 指定this的指向 第二个参数是一个数组(接收传递过来的参数)call 传入的第一个参数 指定this的指向 后面的参数是 传递给函数的参数const arr = [1,6,3,5,29,8,7]let maxNumber = Math.max原创 2021-09-01 22:23:09 · 402 阅读 · 0 评论 -
前端面试自测知识点-闭包
关于闭包「函数」和「函数内部能访问到的变量」的总和,就是一个闭包闭包是 JS 函数作用域的副产品换句话说,正是由于 JS 的函数内部可以使用函数外部的变量,所以这段代码正好符合了闭包的定义。而不是 JS 故意要使用闭包。一个闭包栗子function foo(){ var local = 1 function bar(){ local++ return local } return bar}var func = foo()func()为什么原创 2021-09-01 11:29:34 · 102 阅读 · 0 评论 -
前端面试自测知识点-立即执行函数
立即执行函数两种常见的写法:(function(){...})()(function(){...}())(function(){console.log(888)}()) // 立刻输出 888(function(){console.log(888)})() // 立刻输出 888var fnName = function(){console.log(666)}() // 立刻输出 666 undefined基本概念:函数声明:function fname(){...};使用func原创 2021-09-01 11:18:45 · 122 阅读 · 0 评论