![](https://img-blog.csdnimg.cn/20201014180756925.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
JavaScript
文章平均质量分 89
定栓
仰望星空,脚踏实地
展开
-
js事件及流程详解
W3C 规范中定义了事件的3个阶段,依次是捕获阶段、目标阶段、冒泡阶段。原创 2024-02-28 22:24:33 · 916 阅读 · 0 评论 -
ES6 Proxy详解
Proxy 用于修改某些操作的默认行为,等同于在语言层面做出修改,所以属于一种“元编程”(meta programming),即对编程语言进行编程。Proxy 可以理解成,在目标对象之前架设一层“拦截”,外界对该对象的访问,都必须先通过这层拦截,因此提供了一种机制,可以对外界的访问进行过滤和改写。Proxy 这个词的原意是代理,用在这里表示由它来“代理”某些操作,可以译为“代理器”。原创 2024-02-01 19:28:17 · 1671 阅读 · 0 评论 -
ES6 Reflect详解
Reflect对象与Proxy对象一样,也是 ES6 为了操作对象而提供的新 API。原创 2024-01-29 21:46:39 · 986 阅读 · 0 评论 -
Object.defineProperty详解
Object.defineProperty() 允许精确地添加或修改对象上的属性。通过赋值添加的普通属性会在枚举属性时(例如 for...in、Object.keys() 等)出现,它们的值可以被更改,属性可以被删除。当对象中不存在指定的属性时,Object.defineProperty() 将根据描述符创建一个新的属性。描述符中的字段可以省略,省略的字段将使用默认值。当修改已存在的属性时,操作的结果取决于当前属性的配置,可能会成功、不执行任何操作,或抛出一个 TypeError 异常。原创 2024-01-17 15:29:23 · 3223 阅读 · 0 评论 -
touch手势事件及功能封装
在现代Web开发中,移动设备的普及使得触摸屏交互成为了一个重要的方面。JavaScript中的Touch事件为开发者提供了处理触摸屏输入的能力,从而实现更丰富的用户体验。本文将深入探讨JavaScript中的Touch事件,涵盖基本概念、事件类型、事件属性以及实际应用。原创 2023-08-17 22:35:28 · 446 阅读 · 0 评论 -
js操作剪贴板讲解
在操作系统级别,剪贴板允许应用程序之间传输数据。在现代web应用中,提供复制、剪切、粘贴等与剪贴板交互的功能已成为标配,极大的提高了用户的便利性。但由于涉及到跨域和隐私问题,浏览器对这种交互进行了严格的限制。例如,当前浏览的网站不应能够无授权地访问从另一来源的网站复制的内容。这样可以防止恶意网站读取或修改剪贴板内容,确保用户数据的安全。原创 2023-08-15 22:07:33 · 2990 阅读 · 0 评论 -
详解如何计算字符中的字节数
关于字符编码,有三个核心概念:字符集(Character Set),可以说是一个抽象概念,字符的合集。码位(Code Point),也叫码点,将抽象的字符集中的每一个字符映射到一个整数。Unicode(即UCS-2或UCS-4)就是属于这一层的概念。它完全是数学的抽象,和计算机没有任何关系。字符编码(Encoding),按照某种编码规则用二进制来表示一个字符。UTF-8,UTF-16等都是属于这一层的概念。原创 2023-08-10 20:20:30 · 1801 阅读 · 0 评论 -
图片像素分析与功能实现
图片是由一个个像素点组成。每一个像素点包含四个值,决定了渲染出来的状态。这四个值为rgba(red, green, blue, alpha)。前三个值是 红绿蓝,值的大小范围从 0到255 ,或者从 0%到100% 之间。第四个值 alpha,规定了色彩的透明度,它的范围为0到1之间。其中0代表完全透明,1代表完全可见。通过getImageData方法得到的alpha值范围为0~255原创 2023-03-22 21:10:15 · 1216 阅读 · 0 评论 -
Web文件上传总结
文章目录指定文件类型多文件选择自定义样式通过 click() 方法使用隐藏的 file input 元素使用 label 元素来触发一个隐藏的 file input 元素基本上传方式访问文件传统的 DOM 选择器访问一个已经被选择的文件通过 change 事件访问被选择的文件动态添加change监听器Ajax 上传监测上传进度分割上传拖拽上传文件上传是 Web 开发常见需求,上传文件需要用到文件输入框。指定文件类型一个以英文句号(“.”)开头的合法的不区分大小写的文件名扩展名。例如:.jpg、.p原创 2023-03-15 09:57:33 · 612 阅读 · 0 评论 -
js实现小程序wx.arrayBufferToBase64方法
微信小程序提供了wx.arrayBufferToBase64方法,但很不幸,这个方法在基础库版本 2.4.0 起已废弃,已不推荐使用。虽然目前即使小程序基础库版本为2.22.0,也能正常使用。但是不确定未来哪天,在更新的基础库中,该方法被删除。这样就会带来项目上的隐患。所以需要自己去实现arrayBuffer转为base64这一过程。......原创 2022-03-03 23:18:02 · 5216 阅读 · 8 评论 -
探究添加水印的多种方式
探究js添加水印的多种方式原创 2022-01-17 21:50:28 · 674 阅读 · 0 评论 -
CSS3 transition优化动态内容加载后的高度变化
内容的展示能够通过自然的动画过渡呈现,会增强用户体验。而动态内容呈现主要变化的关键因素就是——高度,而过渡效果最佳利器是CSS3 transition原创 2022-01-11 23:32:15 · 1076 阅读 · 0 评论 -
JSON.stringify()深入了解
JSON.stringify() 方法将一个 JavaScript 对象或值转换为 JSON 字符串,如果指定了一个 replacer 函数,则可以选择性地替换值,或者指定的 replacer 是数组,则可选择性地仅包含数组指定的属性。原创 2022-01-11 21:23:19 · 4431 阅读 · 0 评论 -
js各种数据流之间的格式转换(blob、file、DataURL、canvas、ArrayBuffer)
js各种数据流之间的格式转换(blob、file、DataURL、canvas、ArrayBuffer)原创 2021-12-30 15:18:34 · 14836 阅读 · 0 评论 -
Js File() Blob()讲解
File 接口基于Blob,继承了 blob 的功能并将其扩展使其支持用户系统上的文件,同时 Blob 对象的API也被列在 File 接口原创 2021-12-22 23:26:44 · 6098 阅读 · 0 评论 -
URL.createObjectURL讲解
URL.createObjectURL() 静态方法会创建一个 DOMString,其中包含一个表示参数中给出的对象的URL。这个 URL 的生命周期和创建它的窗口中的 document 绑定。这个新的URL 对象表示指定的 File 对象或 Blob 对象。原创 2021-12-21 10:34:57 · 18568 阅读 · 0 评论 -
postMessage解决跨域、跨窗口消息传递
window.postMessage() 方法允许来自一个文档的脚本可以传递文本消息到另一个文档里的脚本,而不用管是否跨域,可以用这种消息传递技术来实现安全的通信。这项技术称为“跨文档消息传递”,又称为“窗口间消息传递”或者“跨域消息传递”。原创 2021-12-07 10:01:00 · 10978 阅读 · 0 评论 -
Set 和 Map 数据结构详解
JavaScript 的对象(Object),本质上是键值对的集合(Hash 结构),但是传统上只能用字符串当作键。这给它的使用带来了很大的限制。而Map 对象保存键值对时,任何值(对象或者原始值) 都可以作为一个键或一个值。原创 2021-12-03 00:46:56 · 480 阅读 · 0 评论 -
es6 Class 基本语法详解
ES6 提供了更接近传统语言的写法,引入了 Class(类)这个概念,作为对象的模板。通过class关键字,可以定义类。原创 2021-11-29 23:07:28 · 217 阅读 · 0 评论 -
详解require和import
当前端应用越来越复杂时,我们想要将代码分割成不同的模块,便于复用、按需加载等。`require` 和 `import` 分别是不同模块规范下引入模块的语句。原创 2021-11-16 23:27:30 · 5622 阅读 · 0 评论 -
JS 获取屏幕/浏览器/页面元素相对距离与宽高
JS获取系统屏幕信息 JS获取浏览器信息JS获取页面信息JS获取元素相对距离或位置原创 2021-09-09 21:25:03 · 3558 阅读 · 0 评论 -
放弃定时器,使用更高效的requestAnimationFrame来做动画
html5 还提供一个专门用于请求动画的API,那就是 requestAnimationFrame,顾名思义就是请求动画帧。原创 2021-09-08 20:57:13 · 712 阅读 · 2 评论 -
JS校验统一社会信用代码的真实性
统一代码由十八位的阿拉伯数字或大写英文字母(不使用I、O、Z、S、V)组成,包括第1位登记管理部门代码、第2位机构类别代码、第3位\~第8位登记管理机关行政区划码、第9位~第17位主体标识码(组织机构代码)、第18位校验码五个部分。原创 2021-08-08 23:33:56 · 1429 阅读 · 0 评论 -
js验证身份证号的真实性
公民身份号码是特征组合码,由十七位数字本体码和一位数字校验码组成。原创 2021-08-06 17:49:10 · 780 阅读 · 0 评论 -
正则表达式总结
正则表达式总结原创 2019-06-04 20:37:04 · 302 阅读 · 1 评论 -
JS 防抖和节流实现详解
函数防抖(debounce)函数节流(throttle)都是为了限制函数的执行频次,以优化函数触发频率过高导致的响应速度跟不上触发频率,出现延迟或卡顿的现象。原创 2021-08-06 10:24:24 · 1827 阅读 · 0 评论 -
ES6解构详解
在ES5中,为了从对象和数组中获取特定数据并赋值给变量,编写了许多看起来同质化的代码。所以ES6添加了解构功能,将数据结构打散的过程变得更加简单,可以从打散后更小的部分中获取所需信息原创 2021-08-03 22:07:50 · 10763 阅读 · 4 评论 -
JavaScript错误处理机制详解
从ES3开始,js也提供了类似的异常处理机制,从而让js代码变的更健壮,即使执行的过程中出现了异常,也可以让程序具有了一定的异常恢复能力。原创 2021-07-17 23:07:50 · 1049 阅读 · 2 评论 -
JavaScript 空值合并操作符 ??
空值合并操作符(??) 是一个逻辑操作符,当左侧的操作数为 null 或者 undefined 时,返回其右侧操作数,否则返回左侧操作数。原创 2021-07-15 23:20:49 · 398 阅读 · 0 评论 -
JavaScript 可选链操作符 ?.
可选链操作符( ?. )允许读取位于连接对象链深处的属性的值,而不必明确验证链中的每个引用是否有效。原创 2021-07-14 23:00:17 · 1101 阅读 · 0 评论 -
js 闭包详解
js 闭包详解原创 2021-04-14 17:32:43 · 206 阅读 · 1 评论 -
JavaScript 类数组
JavaScript 类数组原创 2021-04-04 00:34:20 · 242 阅读 · 0 评论 -
JavaScript浅拷贝和深拷贝详解
JavaScript浅拷贝和深拷贝详解原创 2021-03-16 20:51:50 · 264 阅读 · 0 评论 -
JS判断是否为数组详解
JS判断是否为数组详解原创 2021-03-11 23:08:05 · 291 阅读 · 1 评论 -
详解typeof与instanceOf
详解typeof与instanceOf原创 2021-03-08 23:36:33 · 490 阅读 · 0 评论 -
js异步接口并发数量控制
js异步接口并发数量控制原创 2020-11-21 01:02:02 · 1833 阅读 · 4 评论 -
深入理解js this绑定
深入理解js this绑定原创 2020-11-18 21:43:21 · 181 阅读 · 0 评论 -
js中的async/await
js中的async/await原创 2020-09-21 20:51:31 · 3171 阅读 · 0 评论 -
JavaScript基本数据类型:BigInt
JavaScript基本数据类型:BigInt原创 2020-01-08 21:14:35 · 1769 阅读 · 0 评论 -
ES6 Symbol讲解
symbol 是一种基本数据类型 (primitive data type)。Symbol()函数会返回symbol类型的值,该类型具有静态属性和静态方法。每个从Symbol()返回的symbol值都是唯一的。一个symbol值能作为对象属性的标识符,这是该数据类型仅有的目的。原创 2020-01-07 15:22:12 · 292 阅读 · 0 评论