JS篇

let 与 var 区别
var 会导致变量声明提升,没有局部作用域
var 会导致声明覆盖

Promise 构造函数是同步还是异步的? .then()是同步还是异步的?
Promise 是同步的
then 是异步的
涉及事件循环、微任务和宏任务
首先任务丢到浏览器中的话会有一个事件队列
它会先执行宏任务,然后执行宏任务里面的微任务
image.png

深拷贝和浅拷贝的区别
一般针对引用类型,虽然基本数据类型也可以深拷贝,但其实际就是赋值操作

拓展运算符用作解构赋值的话,针对一维数组是深拷贝,但是有嵌套数组则变成浅拷贝

BOM和 DOM区别

BOM是浏览器对象模型
没有官方命名和统一标准,只是对浏览器api的统称
它提供的api都放在window全局对象中,它代表当前浏览器窗口
DOM 是文档对象模型,以对象形式呈现页面文档,可以使用JS创建、选择、修改DOM元素,处理DOM事件等
我们常见的页面文档就是html页面,在内存中表现为document 对象

一个是控制浏览器行为的api,一个是页面结构api

BOM相关:
image.png
image.png
image.png
image.png
image.png
history 属性是html5新增的
history.pushState()和history.back()是相对应的,相当于入栈和出栈操作
back也可以用浏览器后退按钮替换

hash和history都可以用作改变url,然后页面不会整体刷新去请求服务器,而是在客户端做router映射
image.png
注意:history.replaceState()浏览器不可以点击回退按钮
image.png
注意:history.go(-1)相当一次history.back()
history.go(-2)相当两次history.back()
history.go(1)相当于一次history.forward()
image.png
image.png
而DOM也属于BOM的一部分,因为window也包括了document对象

DOM相关:
html是静态的页面,只能提供内容的静态展示,不能动态地修改或处理事件,而使用DOM提供的属性和方法,就可以通过编写JS来操作DOM实现动态的功能

常见DOM类型:
document、nodeList、ELement。。。

1.题目:image.png
函数meili和mogu执行后,控制台的输出值分别为
meili, TypeError: mogu is not a function
解析:
image.png

2.题目:image.png

解析:image.png
3.题目:image.png
解析:
image.png
4.眼熟:image.png

5.眼熟:
image.png
6.题目:
编写一个js函数,传入一个非空字符串,计算出现次数最多的字符,返回该字符及 出现次数,结果可能包含多个字符。如传入“xyzzyxyz”,则返回:{y:3, z:3}

解析:
image.png

算法篇

递归三道简单常见题:
image.png
image.png
image.png

html篇

img标签的:alt和title同时设置的时候,alt作为图片的替代文字出现,title是图片的解释文字

CSS篇

margin 和 padding 区别
padding 是施加于自身的:内边距
margin 是施加于外部的:外边距

vw 和百分比 区别
继承关系不同:
百分比继承父级的宽度
vw 只和浏览器视窗宽度有关,50vw永远只占视窗一半

如何让谷歌浏览器支持比12px还小的字体(谷歌浏览器默认最小为12px)
在该文本上添加样式:transform:scale(0.5)