JavaScript手写代码题汇总
前言主要记录在准备秋招的过程中遇到的前端手写代码题,因为我也是个学生,我在看其他博客总结的手写题时会有一些难以理解的点但博客里并没有说明,所以我在解决每一个问题就会记录在这篇博客,也许我之前不明白的问题刚好也是你不明白的问题,所以这篇博客适合校招基础不扎实的同学学习,如果觉得对你有帮助,麻烦点个 star,谢谢!
本文引用博客高频前端面试题汇总,并以我的理解解释了代码中一些不太容易理解的点,方便同学们能够更好地理解每一道题。
JavaScript 基础手写 Object.create思路:将传入的对象作为原型
12345function create(obj) { function F() {} F.prototype = obj; return new F();}
手写 instanceof 方法instanceof 运算符用于判断构造函数的prototype属性是否出现在对象的原型链中的任何位置。
instanceof主要的实现原理就是右边变量的prototype在左边变量的原型链上即可。instanceof在查找的过程中会遍历左 ...
me-ui相关笔记
框架搭建其中运用到的知识点:
单文件组件(Vue)
Parcel(打包工具)
单元测试({….},{….})
自动测试(Karma Mocha(BDD) Chai(expect.to.be))
持续集成(Travis ci / Circle ci)
package.json 发布(dist/index.js dist/index.css)
npm link 本地直接使用发布的包
JavaScript高频之防抖
前言最近在阅读大佬mqyqingfeng的防抖博客,打算系统地学习一下防抖,并在大佬的讲解基础上加入一些自己的理解,废话不多说,现在开始吧!
防抖防抖的原理: 你尽管触发事件,但是我一定在事件触发n秒后才执行,如果你在一个事件触发的n秒内又触发了这个事件,那我就以新的事件的事件为准,n秒后才执行,总之,就是要等你触发完事件n秒内不再触发事件,我才执行。
第一版根据这段表述,我们可以写第一版的代码:
123456789// 第一版// debounce : 防抖动function debounce(func, wait) { let timeout; return function(){ clearTimeout(timeout) timeout = setTimeout(func, wait); }}
clearTimeout() 方法可取消由 setTimeout()方法设置的timeout
clearTimeout() 方法的参数必须是由setTimeout()返回的ID值。
如果我们要使用它,以最一开始的例子为例:
...
CSS面试高频之圣杯布局与双飞翼布局
前言圣杯布局和双飞翼布局作为前端面试高频题目,是我们找前端工作的程序员必须掌握的一个知识点,由于博主将来要准备秋招,最近在学习圣杯布局的过程中明显感觉到了一些不好理解的点,于是打算系统地学习 圣杯布局和双飞翼布局,并作出笔记,方便大家一起来学习交流~~
概念首先,圣杯布局和双飞翼布局都是一个意思,都具有以下特点:
都是三栏布局,两侧盒子的宽度固定,中间盒子的宽度自适应。
中间盒子优先渲染(也就是中间的div要放在最前面)
双飞翼布局比圣杯布局多了一个额外的<div>标签
了解了主要特点后,我们再对这两种布局分别学习。
圣杯布局首先我们给出圣杯布局的HTML结构
12345<div class="container"> <div class="middle"></div> <div class="left"></div> <div class="right"></div> </div>
...
JavaScript面试题学习汇总
前言本篇文章主要总结一些常见的 HTML 面试题,会不断更新。
Object.is() 与比较操作符 “===”、“==” 的区别?
使用双等号(==)进行相等判断时,如果两边的类型不一致,则会进行强制类型转化后再进行比较。
使用三等号(===)进行相等判断时,如果两边的类型不一致时,不会做强制类型转换,直接返回 false。
使用Object.is来进行相等判断时,一般情况下和三等号的判断相同,它处理了一些特殊的情况,比如-0和+0不再相等,两个NaN是相等的。
判断数组的方式有哪些
通过Object.prototype.toString.call()做判断
1Object.prototype.toString.call(obj).slice(8, -1) === "Array";
Object.prototype.toString.call()原理
通过原型链做判断
1obj.__proto__ === Array.prototype;
通过 ES6 ...
HTML面试题学习汇总
前言本篇文章主要总结一些常见的 HTML 面试题,会不断更新。
src 和 href 的区别
herf 是Hypertext Reference的缩写,表示超文本链接,指向网络资源所在的位置,建立和当前元素或当前文档之间的链接,用于超链接,常用于link和a等元素上。
例如超链接:
1<a href="www.mespace.fun">www.mespace.fun</a>
或者链接到外部样式文件:
1<link href="xx.css" rel="stylesheet" />
src 是source的缩写,表示资源引入,指向的内容将会嵌入到文档中当前标签所在位置(也可以理解为将指向的内容替换当前元素),在请求 src 资源时会将其指向的资源下载并应用到文档内,例如javascript脚本,img图片和iframe等元素。
当浏览器解析到该元素时,会暂停其他资源的下载和处理,直到将该资源加载、编译、执行完毕,图片和框架等元素也如此,类似于将所指向资源嵌入当前标签内,这也是为什么将 ...
前端学习计划
前言类似于一个 todolist,拿来做每天计划。
2022/03/12
动态规划剩下的 10 个题。
JavaScript 高级闭包,原型原型链,解释块级上下文,怎么理解作用域。
2023/03/13
垃圾回收机制,内存泄漏。
性能优化。
跨域怎么做处理,什么情况下会跨域。
手写 Promise.all
css面试题目汇总
前言本篇文章主要总结一些常见的 CSS 面试题,会不断更新。
CSS 选择器及其优先级
选择器
格式
优先级权重
id 选择器
#id
100
类选择器
#classname
10
属性选择器
a[ref=“eee”]
10
伪类选择器
li:last-child
10
标签选择器
div
1
伪元素选择器
li:after
1
相邻兄弟选择器
h1+p
0
子选择器
ul>li
0
后代选择器
li a
0
通配符选择器
*
0
对于选择器的优先级:
标签选择器、伪元素选择器:1
类选择器、伪类选择器、属性选择器:10
id 选择器:100
内联样式:1000(内联样式定义在 dom 元素的 style 属性中,格式为:
1<div style="background-color:red;">hello</div>
注意事项:
!important声明的样式优先级最高;
如果优先级相同,则最后出现的样式生效;
继承得到的样式的优先级最低;
通用选择器(*)、子选择 ...
leetcode题库记录
前言这篇博客主要是我刷 leetcode 的记录,每刷一道题就记录做题时间、_解题方法_、_对应链接_。因为刚开始刷题,没多少经验,可能一开始会使用最简单的方法(暴力解法等),随着经验丰富后就可以再返回来优化之前做的题,通过记录可以更方便地提升自己,加油!!
448.找到所有数组中消失的数字
448. 找到所有数组中消失的数字 - 力扣(LeetCode)
2022/10/28 暴力解法
283.移动零
283. 移动零 - 力扣(LeetCode)
2022/10/28 双指针(交换法 & 覆盖法)
121.买卖股票的最佳时机
121. 买卖股票的最佳时机 - 力扣(LeetCode)
2022/10/28 暴力解法 写出来跟官方的暴力解法一模一样,但是运行会**超出时间限制**,应该是官方换过数据集了,但题解没更新
2022/10/28 一次遍历(看了官方的解法二思路,再自己敲的)
704.二分查找
704. 二分查找 - 力扣(LeetCode)
2022/10 ...
leetcode题库分类
前言最近我刚起步刷leetcode,我想的是先刷leetcode 热题 Hot 100,打算先将100道题分成简单,中等,困难,然后再一类一类的刷,废话不说话,直接开整!
Easy 数组
链表
Middle数组
链表
Hard数组
链表
总结通过这样整理好就不用每次再去点击标签选择啦!