什么是Web Component Web Component是一套Web浏览器的技术和规范,能够让开发者定制自己的HTML元素 来自MDN的描述: Web Component 是一套不同的技术,允许你创建可重用的定制元素(它们的功能封装在你的代码之外)并且在你的 web 应用中使用它们。 Web C ...
JavaScript 共有8种数据类型,可以分为两类:基本数据类型和复杂数据类型。 1. 基本数据类型(Primitive Types) 这些数据类型是不可变的,意味着一旦创建了它们的值,就无法更改。 Number: 用于表示整数和浮点数。例如:42, 3.14, -7 BigInt: 用于表示任意 ...
JavaScript 作为一种编程语言,经历了多次发展与演变,以下是其主要历史里程碑: 1. 诞生与早期发展(1995-1999) 1995年: JavaScript 由 Brendan Eich 在网景公司(Netscape)发明,最初被称为 Mocha,后来改名为 LiveScript,最终定名 ...
电梯导航也被称为锚点导航,当点击锚点元素时,页面内相应标记的元素滚动到视口。而且页面内元素滚动时相应锚点也会高亮。电梯导航一般把锚点放在左右两侧,类似电梯一样。常见的电梯导航效果如下,比如一些官方文档中: 之前可能会用 getBoundingClientRect() 判断元素是否在视口中来实现类似效 ...
今天遇到一个问题,在使用codemirror对两条文本内容进行对比时,有同事反馈在它的电脑上会显示成:前面一半是正常显示差异内容,而后面就变成了全部是新增的。 像这样: 预期的对比结果是这样: 我们观察用于对比的两个文本,实际上上面的文本都是去掉后面括号中的内容,对比结果不应该表现成全部删除全部新增 ...
最近练习了一些前端算法题,现在做个总结,以下题目都是个人写法,并不是标准答案,如有错误欢迎指出,有对某道题有新的想法的友友也可以在评论区发表想法,互相学习 ...
转自简书,原文地址,本文介绍window.crypto关于RSA方面的API。 crypto API支持常用的rsa、aes加解密,这边介绍rsa的应用。 浏览器兼容性 window.crypto需要chrome 37版本,ie 11,safari 11才支持全部API而基本的加解密在safari ...
先来看结果图(转.gif掉帧了): 完整源码分享网址: https://share.weiyun.com/Vpkp5KP3 1 首先初始化用到的所有图片: 1 const images = [ 2 "./img/girls.jpg", 3 "./img/ball.png", 4 "./img/wat ...
Babel 是一个多功能的 JavaScript 编译器,主要用于将现代 JavaScript 语法转换为向后兼容的代码。其工作流程包括解析(parse)、转换(transform)和生成(generate)三个步骤,最终生成兼容代码和源码映射。通过自定义插件,开发者可以灵活地操作 AST,实现代码... ...
1 import { Box, Matrix3, Vector2 } from './Utils.js'; 2 import { Shape, ShapeUtils, SplineCurve } from './TwoUtils.js'; 3 4 const BlendEquationAdd = [ ...
随着互联网的发展,前后端分离的架构在现代 web 开发中越来越流行。然而,数据安全性始终是一个重要的问题。在前后端分离的架构中,数据在前端和后端之间的传输和处理过程中需要采取有效的安全措施,以确保数据的机密性、完整性和可用性。本文将介绍一些常见的方法和最佳实践,以帮助确保前后端数据的安全性。 1. ...
前言 今天复习了一些前端算法题,写到一两道比较有意思的题:重建二叉树、反向输出链表每个节点 题目 重建二叉树: 输入某二叉树的前序遍历和中序遍历的结果,请重建出该二叉树。假设输入的前序遍历和中序遍历的结果中都不含重复的数字。例如输入前序遍历序列 {1,2,4,7,3,5,6,8} 和中序遍历序列 { ...
本文由leetcode的字符异位词分组题目引入,记录了javascript中对象的键的数据类型以及存在的数据类型转换现象。 ...
TCP(传输控制协议)的三次握手是建立可靠连接的关键步骤,其设计目的是确保通信双方都准备好,并且避免重复的连接初始化。三次握手并不是随意设定的,而是有其重要的技术理由。 1. 防止重复的连接初始化 假设只使用两次握手,会存在以下问题: 旧的重复SYN包问题:如果网络中的一个旧的SYN包(因为网络延迟 ...
写在开头 点赞 + 收藏 学会 前言 JavaScript 中的相等运算符无疑是新手开发者最容易混淆的知识点之一。 ==和 这两个运算符的细微差别往往会在代码中造成一些令人困惑的行为 在本文中,我们将深入探讨这两个相等运算符的工作原理,比较它们的特点和局限性 让我们开始吧! ...
本文中效果主要采用ThreeJS 中的着色器(Shader)以及结合ShaderMaterial实现的。 主要用到的内置方法有: step:是一个阶跃函数,它将一个浮点数与一个阈值进行比较,并返回一个阶跃值; 比如step(edge, x), 如果 x 小于等于 edge,则返回 0.0, 如果 x ...
01. Dart 介绍 02. Dart 开发环境搭建和开发工具的配置 03. Dart 语言的基础语法 04. Dart 数据类型 05. Dart 运算符 06. Dart 条件表达式 07. Dart 类型转换 08. Dart 循环语句 09. Dart break 和 continue 语 ...
1. 防抖,回城-执行完成区间计时的那一次 触发事件时开始计时,计时结束后执行事件处理。当计时未结束再次触发事件,则清除计时器并重新计时。 思路:利用闭包,保存回调函数的计时器。判断计时器是否存在,是-清除原计时器。在计时器内调用事件处理函数。 注意:这里要搞清楚返回的匿名函数才是绑定的点击事件,而 ...
浅拷贝和深拷贝的区别 浅拷贝:浅拷贝指的是复制一个对象的时候,对于对象的一个属性, 如果是基本数据类型,则复制其值; 如果是引用数据类型,则复制其引用。 深拷贝:深拷贝指的是复制一个对象的时候,对于对象的一个属性, 如果是基本数据类型,则复制其值; 如果是引用数据类型,则递归地深拷贝该对象。 从内存 ...
Vue.js 中的 Ajax 处理:vue-resource 库的深度解析 在现代前端开发中,Ajax 请求是与后端进行数据交互的关键技术。Vue.js 作为一个渐进式 JavaScript 框架,提供了多种方式来处理 Ajax 请求,其中 vue-resource 是一个较为常用的库。尽管 vue ...