一、 JavaScript事件 在前端中,页面的每次交互和特效都是一个事件,其中任何一个html元素都是一个事件源,一个很事件源可以添加多个事件。 二、 事件中的event对象 只要发生一个事件就会产生一个event事件,event代表事件的状态 1、event事件常见的属性和状态 2、阻止默认事件 ...
一、项目背景 公司和第三方合作开发一个传感器项目,想要通过电脑或者手机去控制项目现场的传感器控制情况。现在的最大问题在于,现场的边缘终端设备接入的公网方式是无线接入,无法获取固定IP,所以常规的HTTP协议通信就没法做,现在打算使用MQTT来实现云平台和边缘终端(传感器)之间的双向通信。 二、术语定 ...
一个有必要实现的需求 因为项目中需要使用canvasTexture(一个threejs3d引擎中的材质类型),绘制大量的图片,每次使用都会请求大量的oss图片资源,虽然重复请求会有磁盘缓存但毕竟这个磁盘缓存时效过短, 这里需要了解一下知识才能正常阅读。 Transferable objects ht ...
Js 标准内置对象 Object Object 是 JavaScript 的一种数据类型。它用于存储各种键值集合和更复杂的实体。可以通过 Object() 构造函数或者使用对象字面量的方式创建对象。 Object.assign() Object.assign() 静态方法将一个或者多个源对象中所有可 ...
本文利用向量的点积和叉积来判断点是否在线段上。 基础知识补充 从零开始的高中数学——向量、向量的点积、带你一次搞懂点积(内积)、叉积(外积)、Unity游戏开发——向量运算(点乘和叉乘 说明 点积可以用来判断两个向量的夹角,如果这个夹角是0或者180度,说明这个点在直线上; 叉积可以用来判断一个点到 ...
在日常的 JavaScript 编码中,我们经常使用解构语法来提取对象中的属性。假设我们有一个名为 fetchResult 的对象,代表从接口返回的数据,其中包含一个字段名为 data。 const fetchResult = { data: null }; 在提取 data 字段时,为了避免接口未 ...
从一个假死页面引发的思考: 作为前端开发,除了要攻克页面难点,也要有更深的自我目标,性能优化是自我提升中很重要的一环; 在前端开发中,会偶遇到页面假死的现象, 是因为当js有大量计算时,会造成 UI 阻塞,出现界面卡顿、掉帧等情况,严重时会出现页面卡死的情况; ...
本文介绍使用canvas的drawImage进行视频截图,并用toDataURL和toBlob转化为图片地址的方法,且重点介绍了将bold信息转化为图片地址的方法。 ...
事件循环不是浏览器独有的,从字面上看,“循环”可以简单地认为就是重复,比如for循环,就是重复地执行for循环体中的语句,所以事件循环,可以理解为重复地处理事件,那么下一个问题是,处理的是什么事件,事件的相关信息从哪里获取。 ...
举例:要屏蔽“Missing trailing comma”或“comma-dangle”警告,你可以使用ESLint的配置选项来设置规则。下面是一些方法,你可以根据自己的需求选择其中一种(这里只是举例,其他警告处理方法相同) 方法1:在代码中添加注释来禁用规则 在你希望屏蔽警告的代码行的上方添加如 ...
一、创建Date对象 var dateObj=new Date(); var now = Date.now() 当前时间 二、Date方法 1、将日期转为字符串 toLocaleString() toLocaleDateString() toLocaleTimeString() 2、获取年、月、日、 ...
事件对象 事件对象是由浏览器在外面触发事件的时候创建的,这个对象封装了各种事件相关的各种信息 例如: 鼠标的位置 键盘的按键 浏览器创建事件对象后,会将事件对象作为响应参数传递 在DOM类型中有多种不同类型的事件对象,但是他们都一个祖先Event event.clientX:获取鼠标的X轴坐标 ev ...
概念 日期类型使用自 UTC(Coordinated Universal Time,国际协调时间)1970 年 1 月 1 日午夜(零时)开始经过的毫秒数来保存日期。Date 类型保存的日期能够精确到 1970 年 1 月 1 日之前或之后的 285616 年。 创建Date对象 var dateO ...
使用不可信的数据,通过调用不安全的递归函数来暴露默认原型 原型污染:基础 什么是原型污染? 原型污染是一种针对JavaScript运行时的注入攻击。通过原型污染,攻击者可以控制对象属性的默认值,从而篡改应用程序的逻辑并可能导致服务被拒绝,甚至在某些极端情况下远程执行代码。 现在,你是不是满脑子充满了 ...
闭包 闭包(closure)是一个函数以及其捆绑的周边环境状态(lexical environment,词法环境)的引用的组合。换而言之,闭包让开发者可以从内部函数访问外部函数的作用域。在 JavaScript 中,闭包会随着函数的创建而被同时创建。 <body> <script> // 闭包 : ...
在日常一些需求中,总会遇到一些需要前端进行手动计算的场景,那么这里需要优先考虑的则是数字精度问题!具体请看下面截图 如图所示,在JavaScript进行浮点型数据计算当中,会出现计算结果“不正确”的现象。 我们知道浮点型数据类型主要有:单精度float、双精度double。 浮点型简单来说就是表示带 ...
路由跳转原理 之 Hash 一. 路由跳转的原理 首先讲讲路由跳转的原理, 其实没有什么神秘的, 以变量类比: // 首先定义一个变量名为 container , 赋予初始值 'index' let container = 'index'; // 监听一个点击事件 window.addEventLi ...
每天,我们都在和各种文档打交道,PRD、技术方案、个人笔记等等等。 其实文档排版有很多学问,就像我,对排版有强迫症,见不得英文与中文之间不加空格。 所以,最近在做这么一个谷歌扩展插件 chrome-extension-text-formatting,通过谷歌扩展,快速将选中文本,格式化为符合 中文文 ...
什么是设计模式? 设计模式(Design pattern)是一套被反复使用、多数人知晓的、经过分类编目的、代码设计经验的总结,设计模式并不是一种固定的公式,而是一种思想,是一种解决问题的思路;使用设计模式是为了可重用代码,让代码更容易被他人理解,保证代码可维护性。 设计模式不区分编程语言,设计模 ...
一、创建string对象 var strOb = new String("abcefg"); var strOb = String("abcefg"); var strOb = "abcefg"; 二、属性 length (字符串长度) var str = 'hello'; console.log( ...