1、html基础知识
- 1.1、html的标签类型(
<head>,<body>,<!DOCTYPE>
)的作用是什么?
- 1.2、什么是HTML5?
HTML5 将成为 HTML、XHTML 以及 HTML DOM 的新标准。HTML5 仍处于完善之中。然而,大部分现代浏览器已经具备了某些 HTML5 支持 - 1.3、HTML5的新特性?
(1)用于绘画的 canvas 元素
(2)用于媒介回放的 video 和 audio 元素
(3)对本地离线存储的更好的支持
(4)新的特殊内容元素,比如 article、footer、header、nav、section
(5)新的表单控件,比如 calendar、date、time、email、url、search
- 1.4、什么是伪类和伪元素
- 1.5、html5语义化
在html5出来之前,我们习惯于div来表示页面的章节或者不同模块,但是div本身是没有语义的。但是现在,html5中加入了一些语义化标签,来更清晰的表达文档结构。
语义化优点:
1、易于用户阅读,样式丢失的时候能让页面呈现清晰的结构
2、有利于SEO,搜索引擎标签来确定上下文和各个关键字的权重
3、方便屏幕阅读解析,如盲人阅读器根据语义渲染网页
4、有利于开发和维护,语义化更具有可读性,代码更好维护,与CSS3关系更和谐
2、JS基础知识
- 2.1、深入理解JS:var、let、const的异同
- 2.2、JS数据类型
两种数据存储方式:
- 2.3、Object.assign的理解
作用:Object.assign可以实现对象的合并
语法:Object.assign(target,…sources)
解析:
1、Object.assign会将source里面的可枚举属性复制到target,如果和target的已有属性重名,则会覆盖。
2、后续的source会覆盖前面source的同名属性
3、Object.assign复制的是属性值,如果属性值是一个引用类型,那么复制的其实是引用地址,就会存在引用共享的问题
2.4、constructor的理解
创建的每个函数都有一个prototype(原型)对象,这个属性是一个指针,指向一个对象,在默认情况下,所有原型对象都会自动获得一个constructor(构造函数)属性,这个属性是一个指向prototype(原型)属性所在函数的指针。当调用构造函数创建一个新实例后,该实例的内部将包含一个指针(继承自构造函数的prototype),指向构造函数的原型对象。注意,当将构造函数的prototype设置为等于一个以对象字面形式创建的新对象时,constructor属性不再指向该构造函数
2.5、map和forEach的区别
3、异步相关
- 3.1、promise和async await的区别
区别:
1、promise的出现解决了传统callback函数导致的“地址回调”问题,但它的语法导致了它纵向发展形成了一个回调链,遇到复杂的业务场景,这样的语法显然是不美观的。而async await代码看起来会简洁些,使得异步代码看起来像同步代码,await的本质是可以提供等同于“同步效果”的等待异步返回能力的语法糖,只有这一局代码执行,才能执行下一局。
2、async await与 promise是一样的,是非阻塞的。
3、async await是基于promise实现的,可以说是改良版的promise,它不能用于普通的回调函数。