刷新
JavaScript事件

博主头像 一、 JavaScript事件 在前端中,页面的每次交互和特效都是一个事件,其中任何一个html元素都是一个事件源,一个很事件源可以添加多个事件。 二、 事件中的event对象 只要发生一个事件就会产生一个event事件,event代表事件的状态 1、event事件常见的属性和状态 2、阻止默认事件 ...

nodejs 实现MQTT协议的服务器端和客户端的双向交互

博主头像 一、项目背景 公司和第三方合作开发一个传感器项目,想要通过电脑或者手机去控制项目现场的传感器控制情况。现在的最大问题在于,现场的边缘终端设备接入的公网方式是无线接入,无法获取固定IP,所以常规的HTTP协议通信就没法做,现在打算使用MQTT来实现云平台和边缘终端(传感器)之间的双向通信。 二、术语定 ...

js内置对象

博主头像 Js 标准内置对象 Object Object 是 JavaScript 的一种数据类型。它用于存储各种键值集合和更复杂的实体。可以通过 Object() 构造函数或者使用对象字面量的方式创建对象。 Object.assign() Object.assign() 静态方法将一个或者多个源对象中所有可 ...

JS判断点是否在线段上

博主头像 本文利用向量的点积和叉积来判断点是否在线段上。 基础知识补充 从零开始的高中数学——向量、向量的点积、带你一次搞懂点积(内积)、叉积(外积)、Unity游戏开发——向量运算(点乘和叉乘 说明 点积可以用来判断两个向量的夹角,如果这个夹角是0或者180度,说明这个点在直线上; 叉积可以用来判断一个点到 ...

一个常见的 JavaScript 解构陷阱

博主头像 在日常的 JavaScript 编码中,我们经常使用解构语法来提取对象中的属性。假设我们有一个名为 fetchResult 的对象,代表从接口返回的数据,其中包含一个字段名为 data。 const fetchResult = { data: null }; 在提取 data 字段时,为了避免接口未 ...

【万字长文】前端性能优化实践

博主头像 从一个假死页面引发的思考: 作为前端开发,除了要攻克页面难点,也要有更深的自我目标,性能优化是自我提升中很重要的一环; 在前端开发中,会偶遇到页面假死的现象, 是因为当js有大量计算时,会造成 UI 阻塞,出现界面卡顿、掉帧等情况,严重时会出现页面卡死的情况; ...

原生JS实现视频截图

博主头像 本文介绍使用canvas的drawImage进行视频截图,并用toDataURL和toBlob转化为图片地址的方法,且重点介绍了将bold信息转化为图片地址的方法。 ...

浏览器事件循环Event Loop

博主头像 事件循环不是浏览器独有的,从字面上看,“循环”可以简单地认为就是重复,比如for循环,就是重复地执行for循环体中的语句,所以事件循环,可以理解为重复地处理事件,那么下一个问题是,处理的是什么事件,事件的相关信息从哪里获取。 ...

VSCode ESLint规则警告屏蔽方法

博主头像 举例:要屏蔽“Missing trailing comma”或“comma-dangle”警告,你可以使用ESLint的配置选项来设置规则。下面是一些方法,你可以根据自己的需求选择其中一种(这里只是举例,其他警告处理方法相同) 方法1:在代码中添加注释来禁用规则 在你希望屏蔽警告的代码行的上方添加如 ...

JavaScript复习——04 事件

博主头像 事件对象 事件对象是由浏览器在外面触发事件的时候创建的,这个对象封装了各种事件相关的各种信息 例如: 鼠标的位置 键盘的按键 浏览器创建事件对象后,会将事件对象作为响应参数传递 在DOM类型中有多种不同类型的事件对象,但是他们都一个祖先Event event.clientX:获取鼠标的X轴坐标 ev ...

Data对象

博主头像 概念 日期类型使用自 UTC(Coordinated Universal Time,国际协调时间)1970 年 1 月 1 日午夜(零时)开始经过的毫秒数来保存日期。Date 类型保存的日期能够精确到 1970 年 1 月 1 日之前或之后的 285616 年。 创建Date对象 var dateO ...

原型污染

博主头像 使用不可信的数据,通过调用不安全的递归函数来暴露默认原型 原型污染:基础 什么是原型污染? 原型污染是一种针对JavaScript运行时的注入攻击。通过原型污染,攻击者可以控制对象属性的默认值,从而篡改应用程序的逻辑并可能导致服务被拒绝,甚至在某些极端情况下远程执行代码。 现在,你是不是满脑子充满了 ...

JavaScript进阶

博主头像 闭包 闭包(closure)是一个函数以及其捆绑的周边环境状态(lexical environment,词法环境)的引用的组合。换而言之,闭包让开发者可以从内部函数访问外部函数的作用域。在 JavaScript 中,闭包会随着函数的创建而被同时创建。 <body> <script> // 闭包 : ...

前端计算数字精度丢失问题解决方法记录

博主头像 在日常一些需求中,总会遇到一些需要前端进行手动计算的场景,那么这里需要优先考虑的则是数字精度问题!具体请看下面截图 如图所示,在JavaScript进行浮点型数据计算当中,会出现计算结果“不正确”的现象。 我们知道浮点型数据类型主要有:单精度float、双精度double。 浮点型简单来说就是表示带 ...

[JavaScript进阶] 路由跳转原理 之 Hash 模式

博主头像 路由跳转原理 之 Hash 一. 路由跳转的原理 首先讲讲路由跳转的原理, 其实没有什么神秘的, 以变量类比: // 首先定义一个变量名为 container , 赋予初始值 'index' let container = 'index'; // 监听一个点击事件 window.addEventLi ...

前端如何防止数据被异常篡改并且复原数据

博主头像 每天,我们都在和各种文档打交道,PRD、技术方案、个人笔记等等等。 其实文档排版有很多学问,就像我,对排版有强迫症,见不得英文与中文之间不加空格。 所以,最近在做这么一个谷歌扩展插件 chrome-extension-text-formatting,通过谷歌扩展,快速将选中文本,格式化为符合 中文文 ...

前端常用设计模式

博主头像 什么是设计模式? ​ 设计模式(Design pattern)是一套被反复使用、多数人知晓的、经过分类编目的、代码设计经验的总结,设计模式并不是一种固定的公式,而是一种思想,是一种解决问题的思路;使用设计模式是为了可重用代码,让代码更容易被他人理解,保证代码可维护性。 设计模式不区分编程语言,设计模 ...

<1···789···26>