分享好友 最新动态首页 最新动态分类 切换频道
前端常见问题整理
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,唯一性

 

 

最新文章
深度解析,推广周报之出价优化策略全攻略
本次推广周报深入解析了出价优化策略,详细探讨了如何通过精准调整关键词出价、利用数据分析和市场趋势,提升广告投放效果。报告涵盖了出价策略调整的多个维度,包括竞争分析、预算分配和效果评估,旨在帮助广告主实现广告成本效益的最大化
黄石地区企业网络增长引擎,专业网站推广优化,助力抢占市场风口
黄石专业网站推广优化服务商,致力于帮助企业提升网络竞争力,实现网络腾飞,抢占市场先机。随着互联网的飞速发展,网络营销已经成为企业拓展市场、提升品牌影响力的重要手段,在黄石这座美丽的城市,众多企业纷纷投身于网络营销的大潮中,
家族财富保障及传承 王芳律师家族办公室团队编著 法律金融保险信托移民税务理财知识领域内容通 pdf 下载 mobi 下载 pub 下载 txt 电子书 下载 2024
《家族财富保障及传承》由王芳律师家族办公室团队创作,创作成员有王芳律师、黄利军律师、李爽律师、冯骜国际税务师、薛京律师、张录荣律师。《家族财富保障及传承》一书,主要是从高端客户关注的财富保障与传承视角,分析高净值人士的财富
部署外网网站(四)——个人博客WordPress的部署和模板使用
最近因为各种事鸽了好久,看到上一篇文章已经是三周前了。今天想水一篇,来个简单的个人博客网站的部署,都是框架下的,使用也比较简单,效果也比较优美。之前已经部署好了php,Nginx等网页必备的软件
[源码解析] PyTorch分布式优化器(3)---- 模型并行
本系列介绍分布式优化器,分为三篇文章,分别是基石篇,DP/DDP/Horovod 之中数据并行的优化器,PyTorch 分布式优化器,按照深度递进。本文介绍PyTorch 分布式优化器和PipeDream之中的优化器,主要涉及模型并行(流水线并行)。PyTorch分布
简单一百网课app
简单一百网课app,一般又称简单一百。
热门中高端手机大排行 京东焕新季补贴10%起
如今,对于手机品牌而言,要想掌控市场话题权,必须要在中高端市场站稳脚跟。2022年已经过去四分之一,手机市场新机不断。眼下正是京东手机焕新季,用户换机需求也日渐高涨。面对琳琅满目的机型,用户多少会不知道如何下手,京东各类手机热卖榜单
网站关键词优化步骤,让网站在搜索引擎中脱颖而出
随着互联网的快速发展,数量呈爆炸式增长,如何在众多网站中脱颖而出,吸引目标用户,成为企业关注的焦点。而网站优化是提升网站搜索引擎排名、吸引潜在客户的重要手段。本文将从关键词选择、布局、优化策略等方面,详细介绍网站关键词优化
PingPong深耕跨境支付场景创新,为企业出海提供本地化生态服务网络
  伴随西方传统节日临近,海外消费需求持续升温。从近日落幕的全球黑色星期五和网购星期一(下称黑五网一)购物季看,各大跨境电商平台战绩不俗,中国商家更是作出贡献的中坚力量。  11月份,制造业采购经理指数(PMI)新出口订单恢复至48.1%,
让你快速精通SEO优化
高转化页面的打造!这里210.30.208.205提醒大家,做SEO无论你技术怎么样,都要做好高转化页面的打造,否则你的SEO最终都会功 亏一篑,无论排名如何,高转化页面的方式很多,销售信的引导,免费的引导,低价的引导,绝对化优势的引导,做好
相关文章
推荐文章
发表评论
0评