前端工程师面试题目(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,它不能用于普通的回调函数。

相关文章
|
15小时前
|
缓存 前端开发 JavaScript
Javascript模块化开发基础,最新美团点评前端团队面试题
Javascript模块化开发基础,最新美团点评前端团队面试题
|
18小时前
|
前端开发
从零开始学习前端开发:HTML基础
HTML是前端开发的基础,它是网页内容的结构化描述语言。本文将介绍HTML的基本语法、标签和元素,以及如何使用它们来创建简单的网页。
|
1天前
|
JavaScript 前端开发
深入理解Vue.js中的nextTick:实现异步更新的奥秘
深入理解Vue.js中的nextTick:实现异步更新的奥秘
|
1天前
|
设计模式 存储 前端开发
JS的几种设计模式,Web前端基础三剑客学习知识分享,前端零基础开发
JS的几种设计模式,Web前端基础三剑客学习知识分享,前端零基础开发
|
1天前
|
前端开发 JavaScript 开发工具
4(1),阿里面试官,前端开发面试题目
4(1),阿里面试官,前端开发面试题目
|
1天前
|
移动开发 前端开发 JavaScript
前端高效开发JavaScript库!
前端高效开发JavaScript库!
|
1天前
|
前端开发 JavaScript UED
深入理解 JavaScript 同步和异步,让网页灵动起来!
深入理解 JavaScript 同步和异步,让网页灵动起来!
|
2天前
|
前端开发 JavaScript UED
由于JavaScript是单线程的,因此在处理大量异步操作时,需要确保不会阻塞UI线程
【5月更文挑战第13天】JavaScript中的Promise和async/await常用于处理游戏开发中的异步操作,如加载资源、网络请求和动画帧更新。Promise表示异步操作的结果,通过.then()和.catch()处理回调。async/await作为Promise的语法糖,使异步代码更简洁,类似同步代码。在游戏循环中,使用async/await可清晰管理资源加载和更新,但需注意避免阻塞UI线程,并妥善处理加载顺序、错误和资源管理,以保证游戏性能和稳定性。
12 3
|
2天前
|
存储 JavaScript 前端开发
使用Vue.js构建交互式前端的技术探索
【5月更文挑战第12天】Vue.js是渐进式前端框架,以其简洁和强大的特性深受开发者喜爱。它聚焦视图层,采用MVVM模式实现数据与视图的双向绑定,简化开发。核心特性包括响应式数据绑定、组件化、模板系统和虚拟DOM。通过创建Vue实例、编写模板及定义方法,可以构建交互式前端,如计数器应用。Vue.js让复杂、交互式的前端开发变得更加高效和易维护。
|
2天前
|
JavaScript 前端开发
深入了解前端框架Vue.js的响应式原理
本文将深入探讨Vue.js前端框架的核心特性之一——响应式原理。通过分析Vue.js中的数据绑定、依赖追踪和虚拟DOM等机制,读者将对Vue.js的响应式系统有更深入的理解,从而能够更好地利用Vue.js构建灵活、高效的前端应用。