前端基础
文章平均质量分 70
关于 HTML、CSS、JavaScript,前端三大基石的内容。
夏狗花花
勇于尝试,乐于经历,坦然接受
展开
-
[].slice.call(document.querySelectorAll(‘li‘), 0):类数组转数组
前言今天看到一句这样的代码:[].slice.call(document.querySelectorAll('li'), 0)这是在干嘛?没看懂。搜了一下,大家说,这是在把DOM节点数组转为真正的数组。哦~ 我想起来了,好像是有这么回事,selector 返回的数组好像是叫「类数组」来着。什么是类数组类数组又叫伪数组,是形似数组,但不是数组的类数组对象。函数的 arguments 参数,以及 DOM 元素查找方法返回的 nodeList 对象都属于类数组。类数组和数组的区别类数组:有遍历方法原创 2021-09-09 08:19:43 · 575 阅读 · 1 评论 -
JS 错误捕获机制
前言Javascript 引擎是单线程的,因此一旦遇到异常,Javascript 引擎通常会停止执行,阻塞后续代码并抛出一个异常信息,因此对于可预见的异常,我们应该捕捉并正确展示给用户或开发者。Error 对象当运行时错误产生时,Error的实例对象会被抛出。该错误对象有两个属性:err.name:错误的名称/错误的类型err.message:错误的提示信息创建一个Errornew Error([message[,fileName[,lineNumber]]])错误类型js共定义了下列原创 2021-08-10 23:45:55 · 1049 阅读 · 0 评论 -
理论篇 | 窥探浏览器运行的幕后
前言上一篇《开篇 | 关于前端性能优化的探索》中提到,性能优化需要围绕着网络请求的过程和浏览器渲染机制去展开。但其中提到的渲染过程仅仅是关键路径渲染的部分,对于回流和重绘、UI渲染和JS引擎互斥的原因尚未明确。为了更好的理解这些,接下来我们深入认识一下浏览器的运作机制。进程和线程进程是一个程序运行的实例、是线程的容器 , 操作系统会为进程分配独立的内存(进程之间互相独立);线程是进程的组成部分,线程共享进程所分配的资源(包括代码段、数据集、堆等);一个程序至少有一个进程,一个进程至少有一个线程(原创 2021-08-08 04:46:09 · 122 阅读 · 0 评论 -
二进制学习——Blob,ArrayBuffer、File、FileReader和FormData的区别
FileBlob转载 2021-07-08 23:07:23 · 1653 阅读 · 0 评论 -
洗牌算法 —— 打乱数组
lodash 中的实现// _baseRandom.jsvar nativeFloor = Math.floor, nativeRandom = Math.random; /** * The base implementation of `_.random` without support for returning * floating-point numbers. * * @private * @param {number} lower The lower bound.原创 2021-04-08 11:32:58 · 550 阅读 · 0 评论 -
关于原型的理解
JS - 关于原型的理解1- 对象字面量:2- 使用 Object 构造:3- 构造函数的方式:4- 构造函数+原型:构造函数、原型、实例三者之间的关系:使用构造函数创建的实例对象 的特点:原型链:修改原型:关于ES6中的class在说原型之前,我们先来看看创建对象的几种基本方式:1- 对象字面量:var person = { name:"Jack", age:15 ...原创 2019-05-06 15:51:48 · 499 阅读 · 0 评论 -
去哪里看 ECMAScript 最新标准?
前言ECMAScript 标准是谁制定的?流程是什么?哪里可以看到最新的标准?由谁制定TC39,即ECMA组织的39号技术委员会(Technical Committee 39),是一个推动 JavaScript 发展的委员会,由众多互联网公司和各大主流浏览器厂商的代表共同组建,是一种开放性的指导委员会,所有的ECMAScript标准都是由TC39委员会制定的,并标准生成的流程,实现 。ECMAScript标准的制定流程一种新的语法从提案到变成正式标准,需要经历5个阶段 ——Stage 0 - S原创 2021-02-26 08:54:11 · 712 阅读 · 0 评论 -
如何在页面卸载时进行数据上报
需求场景在用户离开页面前发送请求,进行数据上报(如统计用户停留时长)编辑界面未保存退出的情况,保存数据以便恢复方案1(有毛病)在 unload / beforeunload 中发送同步请求结果报错:Uncaught DOMException: Failed to execute ‘send’ on ‘XMLHttpRequest’: Failed to load ‘https://xxxx/’: Synchronous XHR in page dismissal.原因chrome 不支原创 2021-05-11 18:25:40 · 867 阅读 · 3 评论 -
async/await 与 map
场景要等待所有查询结果出来,才返回最终结果//...let caseList = await Promise.all( list.map(async res => { let rows = await app.mysql.query(`select * from user_case where pid = ${res.pid}`); res.pageCount = rows.length; return res; })) return { caseList, tota原创 2021-05-20 22:01:40 · 691 阅读 · 0 评论 -
CSS变量 —— 在CSS中使用JS变量,使用JS操作CSS
场景:想在CSS中使用JS变量解决方案:CSS变量示例:以在 vue 项目为例:在行内的 style 属性中定义 CSS 变量赋值为 JS 变量在 CSS 中使用行内定义好的 CSS 变量<!--html--><div class="container"> <div class="test" :style="{ '--width':width, '--color':color, '--margin':margin }"></d原创 2020-11-08 15:04:02 · 14504 阅读 · 5 评论 -
Flex布局
一、什么是flex布局:任何容器都可以指定为 flex 布局,行内元素也可以使用flex布局 .box{ display:flex; } .box{ display:inline-flex; }webkit内核的浏览器必须加上 -webkit- 前缀 .box{ displa...原创 2019-02-25 01:54:11 · 205 阅读 · 0 评论 -
CSS 备查指南(项目常用)
项目搭建 - 环境配置、项目构建开发环境配置检查安装情况,没有安装的安装:node:node -v、npm: npm -v、cnpm: cnpm -vwebpack:webpack -vvue:vue -V1. 安装nodenode下载安装2. cnpmnpm install cnpm -g3. 安装webpack、webpack-clinpm install web...原创 2019-02-25 02:01:49 · 147 阅读 · 0 评论 -
骚里骚气的CSS
单个切角 <div class="shape top-left"></div> <div class="shape top-right"></div> <div class="shape bottom-left"></div> <div class="shape bottom-right"></div>.shape{ width:150px; height: 100px;原创 2020-09-27 01:55:26 · 122 阅读 · 0 评论 -
CSS 排雷指南
记录一下常用的 css 样式,方便取用自定义滚动条样式 <div class="scroll-test" style="width:200px;height:300px;overflow:auto;background:#E3F0FC"> <div style="height:500px"></div> </div>.scroll-test::-webkit-scrollbar { width: 6px; height: 6p原创 2020-08-26 17:37:45 · 143 阅读 · 0 评论