分享好友 最新动态首页 最新动态分类 切换频道
前端常见问题整理
2024-12-26 14:23

1.前端性能优化

前端常见问题整理

 a.请求数量:合并脚本和样式表,CSS Sprites;

 b.请求带宽:精简压缩JavaScript文件,移出重复脚本,图片优化;

 c.使用CDN,使用外部JavaScript和CSS,添加Expires头,减少DNS查找,配置ETag,使AjaX可缓存;

 d. 页面结构:将样式表放在顶部,将脚本放在底部,尽早刷新文档的输出;

 e. 代码校验:避免CSS表达式,避免重定向

 

2.在浏览器中输入一个网址之后浏览器都做了什么?

 ① 浏览器查找该域名的 IP 地址

 ② 浏览器根据解析得到的IP地址向 web 服务器发送一个 HTTP 请求

 ③ 服务器收到请求并进行处理

 ④ 服务器返回一个响应

 ⑤ 浏览器对该响应进行解码,渲染显示

 ⑥ 页面显示完成后,浏览器发送异步请求。

 

3.简述盒模型

 文档中的每个元素被描绘为矩形盒子。

 盒子有四个边界:外边距边界margin, 边框边界border, 内边距边界padding与内容边界content。 

 

4.浏览器本地存储 

 在HTML5中提供了sessionStorage和localStorage.

 sessionStorage用于本地存储一个会话(session)中的数据,这些数据只有在同一个会话中的页面才能访问并且当会话结束后数据也随之销毁,是会话级别的存储。

 localStorage用于持久化的本地存储,除非主动删除数据,否则数据是永远不会过期的。

 

5.减少页面加载时间的方法

 a. 尽量减少页面中重复的HTTP请求数量

 b. 服务器开启gzip压缩

 c. css样式的定义放置在文件头部

 d. Javascript脚本放在文件末尾

 e. 压缩合并Javascript、CSS代码

 f. 使用多域名负载网页内的多个文件、图片

 

6.浏览器的内核有哪些?

 IE浏览器的内核Trident,

 Mozilla的Gecko,

 Chrome的Blink(WebKit的分支),

 Opera内核原为Presto,现为Blink;

 

7.前端的三层结构和作用

 a. 结构层:由 HTML 或 XHTML 之类的标记语言负责创建,仅负责语义的表达。解决了页面“内容是什么”的问题。

 b. 表示层:由CSS负责创建,解决了页面“如何显示内容”的问题。

 c. 行为层:由脚本负责。解决了页面上“内容应该如何对事件作出反应”的问题。

 

8.一个页面有大量的图片,如何提高加载速度,提高用户体验。

 a. 图片懒加载,滚动到相应位置才加载图片。

 b. 图片预加载,如果为幻灯片、相册等,将当前展示图片的前一张和后一张优先下载。

 c. 使用CSSsprite,SVGsprite,Iconfont、Base64等技术,如果图片为css图片的话。

 d. 如果图片过大,可以使用特殊编码的图片,加载时会先加载一张压缩的缩略图,以提高用户体验。

 

9.从前端角度做好SEO

  // SEO全称:Search English Optimization,搜索引擎优化。自从有了搜索引擎,SEO便诞生了。

  // 存在的意义:为了提升网页在搜索引擎自然搜索结果中的收录数量以及排序位置而做的优化行为。简言之,就是希望百度等搜索引擎能多多我们收录精心制作后的网站,并且在别人访问时网站能排在前面。

  a.网站结构布局优化;

  b.代码优化,如: 

  <title>标题:只强调重点即可,尽量把重要的关键词放在前面,关键词不要重复出现,尽量做到每个页面的<title>标题中不要设置相同的内容。

  <meta keywords>标签:关键词,列举出几个页面的重要关键字即可,切记过分堆砌。

  <meta description>标签:网页描述,需要高度概括网页内容,切记不能太长,过分堆砌关键词,每个页面也要有所不同。

  <body>中的标签:尽量让代码语义化,在适当的位置使用适当的标签,用正确的标签做正确的事。让阅读源码者和“蜘蛛”都一目了然。比如:h1-h6 是用于标题类的,<nav>标签是用来设置页面主导航的等。

  <a>标签:页内链接,要加 “title” 属性加以说明,让访客和 “蜘蛛” 知道。而外部链接,链接到其他网站的,则需要加上 el="nofollow" 属性, 告诉 “蜘蛛” 不要爬,因为一旦“蜘蛛”爬了外部链接之后,就不会再回来了。

 

10.<img>标签上title属性与alt属性的区别

 alt属性是为了给那些不能看到你文档中图像的浏览者提供文字说明的。且长度必须少于100个英文字符或者用户必须保证替换文字尽可能的短。

 这包括那些使用本来就不支持图像显示或者图像显示被关闭的浏览器的用户,视觉障碍的用户和使用屏幕阅读器的用户等。

 title属性为设置该属性的元素提供建议性的信息。使用title属性提供非本质的额外信息。

 

11.标签语义化的理解

 a. 去掉或者丢失样式的时候能够让页面呈现出清晰的结构

 b. 有利于SEO:和搜索引擎建立良好沟通,有助于爬虫抓取更多的有效信息:爬虫依赖于标签来确定上下文和各个关键字的权重;

 c. 方便其他设备解析(如屏幕阅读器、盲人阅读器、移动设备)以意义的方式来渲染网页;

 d. 便于团队开发和维护,语义化更具可读性,遵循W3C标准的团队都遵循这个标准,可以减少差异化。

 

12.Doctype作用? 严格模式与混杂模式如何区分?它们有何意义?

 <!DOCTYPE> 声明位于文档中的最前面,处于 <html> 标签之前。告知浏览器以何种模式来渲染文档。

 严格模式的排版和 JS 运作模式是以该浏览器支持的最高标准运行。

 在混杂模式中页面以宽松的向后兼容的方式显示。模拟老式浏览器的行为以防止站点无法工作。

 DOCTYPE不存在或格式不正确会导致文档以混杂模式呈现。

 

13.Doctype文档类型

 标签可声明三种 DTD 类型,分别表示严格版本、过渡版本以及基于框架的 HTML 文档。

 HTML 4.01 规定了三种文档类型:Strict、Transitional 以及 Frameset。

 XHTML 1.0 规定了三种 XML 文档类型:Strict、Transitional 以及 Frameset。

 Standards (标准)模式(也就是严格呈现模式)用于呈现遵循最新标准的网页,

 Quirks(包容)模式(也就是松散呈现模式或者兼容模式)用于呈现为传统浏览器而设计的网页。

 

14.HTML与XHTML的区别

 a. XHTML 元素必须被正确地嵌套。

 b. XHTML 元素必须被关闭。

 c. 标签名必须用小写字母。

 d. XHTML 文档必须拥有根元素。

 

15.html5有哪些新特性、移除了那些元素?

 a. HTML5 现在已经不是 SGML 的子集,主要是关于图像,位置,存储,多任务等功能的增加。

 b. 拖拽释放(Drag and drop) API

 c. 语义化更好的内容标签(header,nav,footer,aside,article,section)

 d. 音频、视频API(audio,video)

 e. 画布(Canvas) API

 f. 地理(Geolocation) API

 g. 本地离线存储 localStorage 长期存储数据,浏览器关闭后数据不丢失

 h. sessionStorage 的数据在页面会话结束时会被清除

 i. 表单控件,calendar、date、time、email、url、search

 j. 新的技术webworker, websocket等

 移除的元素:

 a. 纯表现的元素:basefont,big,center, s,strike,tt,u;

 b. 对可用性产生负面影响的元素:frame,frameset,noframes;

 

16.iframe的优缺点?

优点:

 a. 解决加载缓慢的第三方内容如图标和广告等的加载问题

 b. iframe无刷新文件上传

 c. iframe跨域通信

缺点:

 a. iframe会阻塞主页面的Onload事件

 b. 无法被一些搜索引擎索引到

 c. 页面会增加服务器的http请求

 d. 会产生很多页面,不容易管理。

 

17.简述一下src与href的区别

 src用于替换当前元素;href用于在当前文档和引用资源之间确立联系。

 src是source的缩写,指向外部资源的位置,指向的内容将会嵌入到文档中当前标签所在位置

 href是Hypertext Reference的缩写,指向网络资源所在位置,建立和当前元素(锚点)或当前文档(链接)之间的链接

 

18.DOM操作 - 添加、移除、移动、复制、创建和查找节点

(1)创建新节点

  createDocumentFragment() //创建一个DOM片段

  createElement() //创建一个具体的元素

  createTextNode() //创建一个文本节点

(2)添加、移除、替换、插入

  appendChild()

  removeChild()

  replaceChild()

  insertBefore() //在已有的子节点前插入一个新的子节点

(3)查找

  getElementsByTagName() //通过标签名称

  getElementsByName() //通过元素的Name属性的值(IE容错能力较强,会得到一个数组,其中包括id等于name值的)

  getElementById() //通过元素Id,唯一性

 

 

最新文章
AI智能创作写作源码_支持文生视频_私有部署版本
AI智能创作新纪元:迈特AI创作系统引领行业潮流在数字化浪潮席卷全球的今天,AI智能创作正以其独特的魅力与潜力,改变着内容创作的传统格局。南阳迈特网络科技有限公司,作为业界的佼佼者,凭借其精心研发的迈特AI创作系统,不仅为用户提供
excel怎么自动排序123
在Excel中,自动排序是一项基础且强大的功能,它能帮助用户快速整理数据,让信息一目了然。下面,我们就来分点详细介绍如何在Excel中实现自动排序,特别是如何生成连续的序号123。**一、使用填充柄快速生成序号**1. **输入起始序号**:首先
2024超高人气的十大手游排行榜 适合长期玩的十大热门手游合集
今天要带给大家的是2024超高人气的十大排行榜,在游戏界每一年都会出现种类繁多的各种不同的手游,而每一年能在如此多的手游中杀出重围的,只有为数不多的那么十几款,而这些突破重围的高人气手游,往往都有一个共同点,那就是制作十分的精
AI换脸技术的双刃剑:当杨幂和热巴被恶搞时,我们该如何反思?
更令人担忧的是,滥用AI换脸技术的行为已被不法分子利用,成为诈骗等犯罪行为的工具。这些人通过伪造视频来误导他人,从而达到非法目的。这样的行为不仅违法,也对社会带来了极大的信任危机。诈骗案件的增加,出现了越来越多的人因相信这些
2024年天猫淘宝双12优惠活动什么时候开始到什么时候结束?
2024年淘宝天猫双十二超级红包领取口令是什么?如何使用?2024淘宝天猫双十二超级红包领取口令是:红包到手6772024年淘宝天猫双12红包活动时间是从什么时候开始到几号结束?淘宝天猫双12超级红包领取活动时间:2024年12月8日10:00开始至12
360安全桌面老版本
360安全桌面老版本专为喜爱桌面简约的客户应用,去除开过多的实际效果,占运行内存较小,且不容易全自动消息推送无用信息,让您的手机上运作迅速更顺畅.有兴趣的小伙伴赶紧来IT猫扑免费下载.360手机上桌面老版本详细介绍:360安全桌面老版本适用
360搜刮引擎流量有多少_360搜刮引擎收费方式(360搜索引擎收费方式)
  企业品牌推广,口碑推广有哪些方便快捷的方式?别人搜不到你,百度没有你的信息,你还敢说本身是做营消吗?你的产物克户想去相识你的产物都搜不到你,反而看到的都是别的偕行的信息,那潜伏克户选择谁呢,乐意做谁的貣锂呢,不发急吗?
2024年人工智能概念龙头股,快收藏!(名单)(2024/12/13)
  据南方财富网概念查询工具数据显示,人工智能概念龙头股有:  蓝色光标300058:  人工智能龙头股。12月13日开盘消息,蓝色光标涨3.64%,最新报11.950元,成交金额84.06亿元,换手率28.25%,振幅涨3.64%。  7月5日消息,蓝色光标
22224期p5预测专家 破兜排列五预测精准5注
2022223期排列五开奖号码开出0,5,8,3,7。本期开奖号码形态特点统计大小形态为小大大小大,大小比为3:2比例,奇偶形态为偶奇偶奇奇,质合形态为合质合质质,质合比为:3:2比例,和值为23点,和尾为3点,跨度为8点。本期排列五综合分析大小组合
Dictory是什么意思?一个独特的词汇解析!
在当今数字化时代,数据管理和分析变得日益重要,对于企业和个人而言,有效地组织和利用信息资源是提升效率、增强竞争力的关键,Dictory作为一种创新的信息管理工具,正逐渐成为市场上的热门选择,本文将深入探讨的功能特点、应用场景以及
相关文章
推荐文章
发表评论
0评