前端—每天5道面试题(十一)

简介: 前端—每天5道面试题(十一)

前端—每天5道面试题(十一)

每天进步1% 不多 就1%

一、简述对 Web 语义化的理解?

就是让浏览器更好的读懂你写的代码,在进行 HTML 结构、表现、行为设计时,尽量使用语义化的标签,使程序代码简介明了,易于进行 Web 操作和网站 SEO,方便团队协作的一种标准,以图实现一种“无障碍”的 Web 开发。

二、合理的页面布局中常听过结构与表现分离,那么结构是什么?表现是什么?

结构是 html,表现是 css

三、你能描述一下渐进增强和优雅降级之间的不同吗?

  • 渐进增强 progressive enhancement:针对低版本浏览器进行构建页面,保证最基本的功能,然后再针对高级浏览器进行效果、交互等改进和追加功能达到更好的用户体验。
  • 优雅降级 graceful degradation:一开始就构建完整的功能,然后再针对低版本浏览器进行兼容。
  • 区别:优雅降级是从复杂的现状开始,并试图减少用户体验的供给,而渐进增强则是从一个非常基础的,能够起作用的版本开始,并不断扩充,以适应未来环境的需要。降级(功能衰减)意味着往回看;而渐进增强则意味着朝前看,同时保证其根基处于安全地带,举个例子:
a{
display: block;
width: 200px;
height: 100px;
background:aquamarine;
/*我就是要用这个新 css 属性*/
transition: all 1s ease 0s;
/*可是发现了一些低版本浏览器不支持怎么吧*/
/*往下兼容*/
-webkit-transition:all 1s ease 0s;
-moz-transition:all 1s ease 0s;
-o-transition: all 1s ease 0s;
/*那么通常这样考虑的和这样的侧重点出发的 css 就是优雅降级*/
}
a:hover{
height: 200px;
}
/ *那如果我们的产品要求我们要重低版本的浏览器兼容开始*/
a{
/*优先考虑低版本的*/
-webkit-transition:all 1s ease 0s;
-moz-transition:all 1s ease 0s;
-o-transition: all 1s ease 0s;
/*高版本的就肯定是渐进渐强*/
transition: all 1s ease 0s;
}
  • “优雅降级”观点认为应该针对那些最高级、最完善的浏览器来设计网站。
  • “渐进增强”观点则认为应关注于内容本身。

四、display: none;与 visibility: hidden 的区别是什么?

  • display:none; 使用该属性后,HTML 元素(对象)的宽度、高度等各种属性值都将 “丢失”;
  • visibility:hidden; 使用该属性后,HTML 元素(对象)仅仅是在视觉上看不见(完全透明),而它所占据的空间位置仍然存在,也即是说它仍具有高度、宽度等属性值。

五、Doctype 作用? 严格模式与混杂模式-如何触发这两种模式,区分它们有何意义?

DOCTYPE 是一种标准通用标记语言的文档类型声明,它的目的是要告诉标准通用标记语言解析器,它应该使用什么样的文档类型定义来解析文档。只有确定了一个正确的文档类型,超文本标记语言或可扩展超文本标记语言中的标签和层叠样式表才能生效,甚至对 javascript 脚本都会有所影响。

  • 标准模式是指浏览器按 W3C 标准解析执行代码
  • 怪异模式则是使用浏览器自己的方式解析执行代码,因为不同浏览器解析执行的方式不一样,所以我们称之为怪异模式。
  • 浏览器解析时到底使用标准模式还是怪异模式,与你网页中的 DTD 声明直接相关,DTD 声明定义了标准文档的类型(标准模式解析)文档类型,会使浏览器使用相应的方式加载网页并显示,忽略 DTD 声明,将使网页进入怪异模式(quirks mode)
  • 区分它们的意义:doctype 声明指出阅读程序应该用什么规则集来解释文档中的标记

如何触发两种模式?

DOCTYPE 不存在或形式不正确会导致 HTML 和 XHTML 文档以混杂模式呈现

触发严格模式

<!-- HTML 4.01 严格型 -->
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
<!-- XHTML 1.0 严格型 -->
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">

触发混杂模式

<!-- HTML 4.01 过渡型 -->
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
"http://www.w3.org/TR/html4/loose.dtd">
<!-- HTML 4.01 框架集型 -->
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Frameset//EN"
"http://www.w3.org/TR/html4/frameset.dtd">
<!-- XHTML 1.0 过渡型 -->
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<!-- XHTML 1.0 框架集型 -->
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Frameset//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-frameset.dtd">


相关文章
|
11天前
|
存储 前端开发 JavaScript
前端面试题23-34
通过对 Promise 和 ECMAScript6 的深入理解,可以更好地应对现代 JavaScript 开发中的复杂异步操作和新特性,提升代码质量和开发效率。
14 2
|
29天前
|
缓存 JavaScript 前端开发
2024 前端高频面试题之 Vue 篇
2024 前端高频面试题之 Vue 篇
43 8
|
26天前
|
前端开发 JavaScript Java
2024高频前端面试题合集(一)
JavaScript Bridge 是一种在 JavaScript 和其他语言(如 Java、Objective-C 等)间建立通信的技术,常用于混合应用开发,允许调用原生功能、获取数据、事件通知及优化性能。SSR(服务器端渲染)的单机 QPS 取决于服务器性能、应用复杂度、网络条件等因素。Egg.js 是基于 Node.js 的企业级框架,通过目录结构约定、启动流程、插件机制和核心组件来初始化应用。前端错误捕获可通过 try-catch、window.onerror、Promise.catch 和 unhandledrejection 事件等方式实现。
|
6天前
|
存储 缓存 监控
2024春招小红书前端面试题分享
2024春招小红书前端面试题分享
25 3
|
11天前
|
前端开发 JavaScript 虚拟化
前端面试题12-22
ES6(ECMAScript 2015)是 JavaScript 的重要版本,引入了许多新特性和语法,提升了语言的功能和可用性。ES6 的主要特性包括箭头函数、类、模板字符串、解构赋值、默认参数、Promise、模块化、Generator 函数、async 函数、Proxy 和 Reflect 等。这些特性不仅简化了代码的编写和维护,还为开发者提供了更多的编程范式和工具。了解和掌握 ES6 的特性是现代 JavaScript 开发的必备技能。
6 1
|
11天前
|
JSON 前端开发 JavaScript
前端面试题01-11
Map是ES6引入的一种新的键值对集合数据结构,类似于对象,但键的范围不限于字符串,还可以是任何类型的值。Map保持键值对的插入顺序,提供更灵活的键值对操作方法,如`set()`、`get()`、`delete()`、`has()`等。
10 1
|
6天前
|
算法 前端开发 安全
面试官:前端加密怎么做?这,这,这不是后端的活儿吗?
前端加密技术概述: 前端加密主要用来保护数据在传输过程中的安全,但因浏览器环境开放性,仅能提供有限的安全性,真正安全策略需结合服务器端加密和安全协议。
|
29天前
|
JavaScript 前端开发
前端面试02(JS)
本文是前端面试系列的第二篇,主要涵盖了JavaScript的基础知识,包括JS的组成(ECMAScript、DOM、BOM)、内置对象(如String、Array、Math、Date等)、数组操作方法、数据类型检测方法(typeof、instanceof、constructor、Object.prototype.toString.call)、闭包的概念及其特点、前端内存泄漏的原因和类型、事件委托的优势、基本数据类型与引用数据类型的差异、原型链的工作原理以及JS实现继承的多种方式(原型链、构造函数、组合继承等)。文章结尾鼓励读者点赞和支持作者。
13 1
|
29天前
|
前端开发 Java
前端面试题01(css)
前端面试题01聚焦CSS,涵盖选择器优先级、隐藏元素方法、px与rem差异、重绘与重排解释、元素居中技巧及可继承属性。还探讨了CSS预处理器SASS和LESS的特性。文章提供实例代码展示居中布局的多种实现方式。鼓励读者点赞和支持。
18 0
|
1月前
|
存储 缓存 前端开发
100道 IT名企前端面试真题,Web前端阿里等大厂面试题汇总
100道 IT名企前端面试真题,Web前端阿里等大厂面试题汇总