前端工程师面试题目(html,js,异步)

简介: 前端工程师面试题目(html,js,异步)

1、html基础知识


  • 1.1、html的标签类型(<head>,<body>,<!DOCTYPE>)的作用是什么?


image.png


  • 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、什么是伪类和伪元素


image.png

  • 1.5、html5语义化
    在html5出来之前,我们习惯于div来表示页面的章节或者不同模块,但是div本身是没有语义的。但是现在,html5中加入了一些语义化标签,来更清晰的表达文档结构。


d096dc1d6726418c8fcebcd758cfa81a.png

语义化优点:


1、易于用户阅读,样式丢失的时候能让页面呈现清晰的结构

2、有利于SEO,搜索引擎标签来确定上下文和各个关键字的权重

3、方便屏幕阅读解析,如盲人阅读器根据语义渲染网页

4、有利于开发和维护,语义化更具有可读性,代码更好维护,与CSS3关系更和谐


2、JS基础知识


  • 2.1、深入理解JS:var、let、const的异同


image.png


  • 2.2、JS数据类型

image.png


两种数据存储方式:


image.png


  • 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的区别


image.png

3、异步相关


  • 3.1、promise和async await的区别

image.png


区别:


1、promise的出现解决了传统callback函数导致的“地址回调”问题,但它的语法导致了它纵向发展形成了一个回调链,遇到复杂的业务场景,这样的语法显然是不美观的。而async await代码看起来会简洁些,使得异步代码看起来像同步代码,await的本质是可以提供等同于“同步效果”的等待异步返回能力的语法糖,只有这一局代码执行,才能执行下一局。


2、async await与 promise是一样的,是非阻塞的。


3、async await是基于promise实现的,可以说是改良版的promise,它不能用于普通的回调函数。

相关文章
|
JavaScript 前端开发 API
|
前端开发 JavaScript 数据可视化
58K star!这个让网页动起来的JS库,前端工程师直呼真香!
Anime.js 是一款轻量级但功能强大的JavaScript动画引擎,它能够以最简单的方式为网页元素添加令人惊艳的动效。这个项目在GitHub上已经获得58,000+星标,被广泛应用于电商页面、数据可视化、游戏开发等场景。
719 8
|
JavaScript 前端开发 容器
|
JavaScript 前端开发
|
存储 JavaScript 前端开发
|
移动开发 JavaScript 前端开发
|
移动开发 前端开发 安全
|
存储 JavaScript 前端开发
|
JavaScript 前端开发
|
JavaScript 前端开发