前端开发中的三个冷知识

前言

某项技术或者某个知识点是否有用,不应该取决于市场主流,而应该取决于你当前的业务场景。

跟随主流的那些知识点,只能说是常用。但主流之外,那些冷知识就真的不重要吗?

非也,只是因为知道的人少。

前端开发中的冷知识挺多的,本文只介绍三个。

预处理

HTML中的link标签神奇的很,通过设置一些预处理命令,可以提升页面渲染速度。

常用的有五个,分别是:dns-prefetch,preconnect,prefetch,preload,prerender。

dns-prefetch (dns预解析)

将link标签的rel属性设置为dns-prefetch,href属性设置为某个域名后,浏览器就会对该域名进行预先解析并缓存。

这样的话,当浏览器在请求同域名下的资源时,就不必再走一次域名解析。

对于那种多个资源在同一个域名下加载的场景十分有效。

看一下京东首页,已经安排上了。

这里还有一个小知识点,京东使用了不具体指定http或者https的相对协议//

这样做的好处是: 浏览器可根据当前网站采用的协议去目标地址加载与之匹配的资源,灵活性比较强。

preconnect (预连接)

浏览器中请求不是直接通过网络进程发出去的,而是先tcp三次握手一波,建立间接通道后才会发起请求。

此外,如果是https的,还需要tls握手建立加密通道,这两个过程都是比较耗时的。

如果开启预连接,就会提前建立请求所需要的连接通道,在真正发送请求的时候会更快。

preload(预加载)

预加载就是在某个资源真正使用前先加载一波(不会阻塞页面加载),等到真正使用时执行。

preload需要指定as属性,告诉浏览器加载的是什么类型的东西,这样有助于浏览器在发送请求时控制优先级。

简单来说,你可以使用这个属性将你想尽快加载的资源提前加载。

掘金使用了preload,打开network看的话,这几个资源加载是比较靠前的。

prefetch(预提取)

这东西和preload有点像,但不太一样。

prefetch是可能会加载的资源,preload是一定会加载的资源。

这两个东西不要同时对一个资源用,否则会加载两次,没什么必要。

prerender(预渲染)

预先加载页面并进行解析,这部分是浏览器在后台完成的一系列不可见的页面解析操作。

等导航到目标页面,呈现出渲染好的页面。

精度处理

js的小数计算刺激吧,这里涉及二进制与十进制的转换以及精度问题。

我们不讨论过细的原因,只关注解决方法。

比较容易想到的是转成整数计算,像这样


然后我今天发现了一个新的方式

Number.toPrecision

果然,这世间的东西,存在即合理。

parseInt

这个api你肯定用过,用来把字符串转成数字。

但这个小东西不止表面那么简单,暗藏玄机的。

假定有一个由年龄和姓名组成的数组,需要求年龄和

const arr=['24-tom','20-jack']
arr.reduce((a,b)=>parseInt(a)+parseInt(b)) //44

这是利用了parseInt识别到无法解析成数字的字符串自动截断的特点。

再会

情如风雪无常,

却是一动既殇。

感谢你这么好看还来阅读我的文章,

我是冷月心,下期再见。

书上说,天下没有不散的宴席。

不要怕,书上还说了,人生何处不相逢。

  • 6
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
基于STM32节点和阿里云IoT平台 的物联网应用开发 系列课程 第四章 服务端的应用开发 课程内容下载、观看 • 视频观看:AI电堂、阿里云大学IoT课堂 • 课件胶片下载:STMCU文官网、阿里云大学IoT课堂 • 课件项目下载:STMCU文官网、阿里云大学IoT课堂 2 STM32公众号 阿里云大学 电堂公众号STM 文官网 第四章内容简介 • 第一节:综合软件架构介绍 • 软件架构,知识结构梳理 • 第二节:后端服务开发 • 后端框架,初始化首个后端项目,应用系统开发,部署 • 第三节:前端服务开发体验 • 前端框架,初始化首个前端项目,组件的使用和数据流转,部署 3 STM32-阿里云IoT 联合课件开发 第四章 . 第三节 前端服务开发 第四章.第三节 内容简介 • 前端基础概念和知识 • 认识前端框架 • 了解React • 学习Umi.js • 学习Ant Design • 了解dva.js • 初始化并运行第一个后端项目 • 安装yarn包管理工具 • 全局安装umi • 使用脚手架初始化 • Umi路由页面添加 5 • 创建和使用组件 • Layout组件 • 主页面创建 • 组件引入 • 组件完善 • 使用dva实现数据流转 • 数据请求 • Dva管理数据 • 应用调试与部署 • 项目打包 • 项目部署 了解前端基础概念和知识技能 • 前端的基本概念 6 在软体架构和程序设计领域,前端是软件系统直接和用户交互的部分,而后端控制着软 件的输出。将软件分为前端和后端是一种将软件不同功能的部分相互分离的抽象
当然,以下是 TypeScript 前端开发的十个重要知识点: 1. 类型系统:TypeScript 是 JavaScript 的超集,它引入了静态类型检查,可以在编译时捕获潜在的类型错误,并提供更好的代码补全和文档。 2. 接口和类型:TypeScript 提供了接口和类型(type)来定义自定义数据结构和对象的形状。它们可以用于强制编译时类型检查和类型推断。 3. 类和继承:TypeScript 支持类和继承,让你可以使用面向对象的编程范式来组织和管理代码。 4. 泛型:泛型允许你编写可重用的代码,可以在不同类型之间共享相同的逻辑。它在创建通用数据结构和函数时非常有用。 5. 模块化:TypeScript 原生支持 ES 模块规范,可以帮助你将代码拆分为多个可重用的模块,并提供更好的代码组织和封装。 6. 异步编程:TypeScript 提供了异步编程的支持,包括 Promise、async/await 和生成器等语法糖,使得处理异步操作更加简洁和可读。 7. 枚举类型:枚举类型允许你定义一组命名的常量,并将它们作为一种数据类型使用。这在需要表示一组相关的变量时非常有用。 8. 类型推断:TypeScript 的类型系统可以根据上下文自动推断变量的类型,减少了手动类型注解的工作量,并提供更好的开发体验。 9. 类型声明文件:TypeScript 可以使用类型声明文件(.d.ts)来描述 JavaScript 库的类型信息,从而提供更好的代码补全和类型检查。 10. 第三方库和工具支持:TypeScript 生态系统非常丰富,支持大多数常用的前端库和工具,如 React、Vue、Webpack 等,使得开发和维护前端项目更加便捷。 这些知识点涵盖了 TypeScript 前端开发的核心概念和特性,希望对你有所帮助!如果你还有其他问题,请随时提问。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值