javascript

JS使用canvas技术模仿echarts柱状图

canvas 画布是html5中新增的标签,可以通过js操作 canvas 绘图 API在网页中绘制图像。 百度开发了一个开源的可视化图表库ECharts,功能非常强大,可以实现折线图、柱状图、散点图、饼图、...

JS彻底弄懂GMT和UTC时区

目录 前言 一、GMT 什么是GMT GMT的历史 二、UTC 什么是UTC UTC 由两部分构成: UTC的历史 三、GMT vs UTC 四、时区 时区是如何定义的 五、夏令时 什么是夏令时 夏令时的历史 夏令时的争议 六...

JS装饰者模式和TypeScript装饰器

目录 装饰者模式介绍 TypeScript中的装饰器 装饰器的使用 装饰器工厂 类装饰器 方法装饰器 属性装饰器 其他装饰器的写法 装饰器运行时代码分析 装饰者模式介绍 装饰者模式(Decorator...

如何自己实现JavaScript的new操作符

目录 构造函数 new 操作符 自己实现一个 new 构造函数 在介绍new之前,必须要知道什么是构造函数。 构造函数和普通函数在写法上没有任何区别,当一个函数通过new Fun()调用时,就叫做...

Javascript之JSBridge初探

目录 JSBridge 的起源 JSBridge 的双向通信原理 JS 调用 Native Native 调用 JS JSBridge 的使用 总结 JSBridge 的起源 近些年,移动端普及化越来越高,开发过程中选用 Native 还是 H5 一直是热门话题。...

如何用JS解析剪切板里的excel内容

目录 前言 1. 粘贴事件和剪切板 2. 剪切板里的内容格式 3. 如何解析html字符串 前言 这次记录的是昨晚一个想法:把excel内容复制到剪切板并转成自己想要的json格式,核心是要把excel内容...

详解JavaScript私有类字段和TypeScript私有修饰符

目录 JavaScript【文章出处:香港服务器】私有类字段和隐私需求 一个JavaScript私有类字段的例子 TypeScript中的private修饰符 TypeScript中的私有类字段 JavaScript私有类字段和隐私需求 在过去,...

详解JavaScript进度管理

目录 前言 问题 原理 测试 前言 我们写程序的时候会经常遇到显示进度的需求,如加载进度、上传进度等。 最常见的实现方式是通过记录已完成数量(loadedCount)和总数量(totalCount),然后...

一文秒懂JavaScript DOM操作基础

DOM概念 DOM:document object model : 文档对象模型 通过js去操作HTML的代码,添加元素,删除元素。。。 获取元素 (1)getElementById 通过id获取,获取到的是一个元素 (2)getElementsByTagName 通过...

用几道面试题来看JavaScript执行机制

目录 前面的话 同步和异步 开胃菜 加一盘 宏任务 微任务 来一盘Promise 再加点定时器 简单测试 总结 前面的话 根据JavaScript的运行环境,锁定它为单线程,任务需要排队执行,如果网站...

JS不要再到处使用绝对等于运算符了

目录 概述 1.测试空值 2.读取用户的输入 简介 事实的根源在哪里 打破常识 1.==只检查值(松散) 2.===检查值和类型(严格) JavaScript 中的强制转换 显性强制转换 隐藏转换 比较的算法 流行...

如何用JavaScript学习算法复杂度

目录 概述 什么是 Big O 符号? O(1) O(n) O(n^2) O(log n) O(n!) 结束语 概述 在本文中,我们将探讨 “二次方” 和 “n log(n)” 等术语在算法中的含义。 在后面的例子中,我将引用这两个数组,...

JS原生2048小游戏源码分享(全网最新)

最近在学习算法方面的知识,看到了一个由算法主导的小游戏,这里给大家分享下代码: 效果: 代码: head meta charset="UTF-8" meta name="viewport" content="width=360px,user-scalable=no" / title2048小游戏...

基于JavaScript实现网页计算器

本文实例为大家分享了JavaScript实现网页计算器的扫雷游戏的具体代码,供大家参考,具体内容如下 先看效果: 此外,计算器还附有数字、运算符检查功能: 下贴源码: !DOCTYPE html PU...

JavaScript实现时间范围效果

本文实例为大家分享了JavaScript实现时间范围效果的具体代码,供大家参考,具体内容如下 当前时间往前的时间范围(六个月之前) 效果图 js文件代码片 /*查询日期区间(当前时间往前...

详解JS ES6变量的解构赋值

目录 1.什么是解构? 2.数组解构 3.数组模式和赋值模式统一 4.解构的默认值 5.对象的解构赋值 6.函数参数 7.字符串解构 8.数值和布尔值的解构赋值 9.解构赋值的应用 1.交换变量的值 2.从...

详解JS变量存储深拷贝和浅拷贝

目录 变量类型与存储空间 栈内存和堆内存 基本数据类型 引用类型 图解存储空间 引用类型的赋值 深拷贝和浅拷贝 深拷贝 浅拷贝 对象的赋值 三者对比 浅拷贝的常用的五种方法 Objec...

详解JS中的对象字面量

目录 前言 1. 在对象构造上设置原型 1.1 __proto__用法的特殊情况 2.简写方法定义 3. super 的使用 3.1 super 使用限制 4.计算属性名 4.1 symbol 作为属性名称 5.剩余和展开属性 6.总结 前言 在 ES...

Js模块打包exports require import的用法和区别

目录 1、Commonjs之 exports和require用法 1.1 CommonJS导出之module.exports 1.2 CommonJS导入之require 2、ES6 Module 之 export 和 import 用法 2.1 ES6 Module导出之export 2.2 ES6 Module导出之import 3、CommonJS和ES6 Modul...

TypeScript泛型参数默认类型和新的strict编译选项

目录 概述 为组件类创建类型定义 使用泛型类型定义Props和State 泛型参数默认类型 其它事例 新的--strict主要编译选项 改进的--init输出 --checkJS选项下.js文件中的错误 概述 TypeScript 2.3 增加...

如何制作自己的原生JavaScript路由

目录 前言 简介 JavaScript 的 History API 实现自己的原生JS路由 基于 History API 的 Vanilla JS 路由设置 使“后退”和“前进”按钮起作用 初始化服务器端的路由负载 前言 当你想到路由时,通...

浅谈JS和Nodejs中的事件驱动

目录 事件驱动和发布-订阅 事件驱动是怎样用在浏览器中的JavaScript的? 浏览器中的主题和观察者 事件驱动如何用于 Node.js? 了解 EventEmitter JavaScript 中有关观察者/发布-订阅的其他示例...

详解Javascript实践中的命令模式

目录 定义 结构 实例 自定义快捷键 撤销与重做 录制与回放 宏命令 总结 定义 Encapsulate a request as an object, thereby letting you parameterize other objects with different requests, queue or log requests,and sup...

原生JS中应该禁止出现的写法

目录 块级函数 直接修改对象的 prototype 原型 with callee caller eval 块级函数 严格模式下,在 ES6 之前应禁止使用。ES6 开始可以使用,函数的作用域为声明该函数的块内部。非严格模式下应...

如何用JavaScript实现一个数组惰性求值库

目录 概述 怎么实现 具体实现 判断求值函数终止 生成函数 range 转换函数 map 过滤函数 filter 中断函数 stop 收集函数 join 测试: 更优雅的实现 总结 概述 在编程语言理论中,惰性求值(...

无编译/无服务器实现浏览器的CommonJS模块化

目录 引言 1. one-click.js是什么 2. 打包工具是如何工作的? 3. 我们面对的挑战 3.1. 依赖分析 3.2. 作用域隔离 3.3. 提供模块运行时 4. 总结 引言 平时经常会逛 Github,除了一些 star 极高的大...

深入JS继承

目录 前言 准备 总结 继承的n种方式 原型式继承 原型链式继承 借用构造函数(类式继承) 组合继承 寄生组合式继承 结束语 前言 对于灵活的js而言,继承相比于java等语言,继承实现方式...

使用Vue3实现一个Upload组件的示例代码

目录 通用上传组件开发 我们需要实现如下功能 自定义模版 支持文件上传列表 支持一系列生命周期钩子事件,上传事件 拖拽支持 写在最后 通用上传组件开发 开发上传组件前我们需要...

7个好用的TypeScript新功能

目录 1. 可选链 2. 空值合并 3. 递归类型别名 4. 断言签名 5. 为 Promise 提供更好的反馈 6. Unicode 标识符 7. 增量编译 1. 可选链 从 v3.7 可用 这是当你尝试访问嵌套数据时的一个痛点,嵌套数...

分析ES5和ES6的apply区别

目录 概述 函数签名 可选参数 非严格模式 异常处理 实际使用 总结 概述 众所周知, ES6 新增了一个全局、内建、不可构造的Reflect对象,并提供了其下一系列可被拦截的操作方法。其中...

JavaScript中正则表达式的实际应用详解

实际工作中,JavaScript正则表达式还是经常用到的。所以这部分的知识是非常重要的。 一、基础语法: 第一种:字面量语法 var expression=/pattern/flags; 第二种:RegExp构造函数语法 var patte...

聊一聊JavaScript的URL对象是什么

目录 概述 Hash属性 Host 属性 Hostname 属性 Href属性 Origin属性 UserName Password属性 Pathname属性 Port属性 Protocol属性 Search属性 searchParams属性 静态方法 总结 概述 如果我们自己编写从URL中分析和...

如何通俗的解释TypeScript 泛型

目录 概述 什么是泛型 编译系统 通俗的理解泛型 泛型类 其他泛型使用的通俗解释 结语 概述 在 TypeScript 中我们会使用泛型来对函数的相关类型进行约束。这里的函数,同时包含 class...

JavaScript中分号的一些细节

前言 JavaScript 中的分号是可选的,加不加分号主要是个代码风格问题。一种风格是使用分号明确结束语句,即便这些分号不是必需的;另一种风格是尽可能的不加分号,只在必要的情况...

JS快速掌握ES6的class用法

1.如何构造? 先复习一下es5常用的构建类的方法:首先es5的写法使用原型进行对象的方法的,为什么不在构造函数里添加方法呢?因为实例化对象的时候,会重复的建立好多相同的方法...

JS关于for循环中使用setTimeout的四种解决方案

目录 概述 解决方案1:闭包 解决方案2:拆分结构 解决方案3:let 解决方案4:setTimeout第三个参数 概述 我们先来简单了解一下setTimeout延时器的运行机制。setTimeout会先将回调函数放到等...

LayUI+Shiro实现动态菜单并记住菜单收展的示例

目录 一、Maven 依赖 二、菜单相关的类 1、主菜单 2、子菜单 三、Shiro 配置 1、ShiroConfig 2、自定义shiro密码校验 四、控制类 1、LoginController 2、PageController 3、MenuController 五、数据库 六、前...

JavaScript正则验证密码强弱度的实现方法

展示 设计 密码强弱度分析 密码由数字,字母,特殊符号组成 密码: 只有数字- 或者是只有字母,或者是只有特殊符号——1级:弱 两两组合: 数字和字母, 数字和特殊符号, 字母和特殊符号—...

JS中一些高效的魔法运算符总结

JavaScript 现在每年都会发一个新版本,里面也会新增一些操作更加便利、高效的运算符。今天我们就来盘点下几个高效的魔法运算符。 1. 可选链运算符 之前当我们想要使用某个结构比较...

微信小程序实现用户登录模块服务器搭建

我选用的是node.js来搭建服务器,没有安装的小伙伴可以参考我的node.js其他博客。 服务器安装与配置 初始化项目,将会自动创建package.json配置文件。 npm init -y 安装Express框架和request模块...

小程序数据缓存机制应用实现

小程序数据缓存相关知识 数据缓存:缓存数据,从而在小程序退出后再次打开时,可以从缓存中读取上次保存的数据,常用的数据缓存API如下表所示: 注意 :将数据存储在本地缓存中...

详解TS对象扩展运算符和rest运算符

【本文由:http://www.1234xp.com/rbzq.html 复制请保留原URL】 目录 概述 对象 rest 属性 对象扩展属性 制作对象的浅拷贝 keyof 和查找类型 keyof 操作符号 索引类型查询 概述 TypeScript 2.1 增加了对...

如何用JS实现简单的数据监听

目录 概述 第一步 第二步 为什么需要单独的_data? 给data多添加一点数据 格式化初始值 格式化object对象,监听值 概述 主要是用Object.defineProperty实现类似vue的数据绑定。 第一步 const d...

在JavaScript中如何使用宏详解

在语言当中,宏常见用途有实现 DSL 。通过宏,开发者可以自定义一些语言的格式,比如实现 JSX 语法。在 WASM 已经实现的今天,用其他语言来写网页其实并不是没有可能。像 Rust 语言就...

JS根据奖品权重计算中奖概率

目录 一、示例场景 1.1、设置抽奖活动的奖项名称 1.2、设置各奖项权重 1.3、抽奖活动规则 二、实现原理 2.1、计算权重和值 2.2、编写抽奖函数 三、项目完整代码 一、示例场景 1.1、设置...

图片该如何优化来提高网站性能

目录 概述 什么是图像压缩 JPEG/JPG JPG 的优点 JPG 使用场景 JPG 的缺陷 使用 MozJPEG 压缩 jpeg PNG (PNG-8 与 PNG-24) PNG 的优缺点 PNG 应用场景 使用 pngquant 优化 PNG 图像 WebP WebP 的优点 将 WebP 图像...

详解JS同源策略和CSRF

目录 概述 同源策略 SOP 同源 限制 绕过跨域 跨站请求伪造 CSRF 简述 SOP 与 ajax CSRF 对策 跨域资源共享 CORS 简单请求 预检请求 CORS 与 cookie 概述 本文主要涉及三个关键词: 同源策略(S...

JS 9个Promise面试题

目录 1. 多个.catch 2. 多个.catch 3. 链接.then和.catch 4. 链接.catch 5. 多个.catch 6..then之间的流程 7..then之间的流程 8..then之间的流程 9..then和.catch之间的流程 1. 多个.catch var p = new Promise((resolve...

JavaScript函数中this指向问题详解

this关键字 哪个对象调用函数,函数里面的this指向哪个对象。 **严格模式下:**在全局环境中,this指向的是undefined **非严格模式下:**在全局环境中,this指向的是window 全局定义的函数直...

如何写出优雅的JS 代码

目录 变量 使用有意义和可发音的变量名 对同一类型的变量使用相同的词汇 使用可搜索的名字 使用解释性变量 避免费脑的猜测 无需添加不必要的上下文 使用默认参数代替逻辑或(与...