![](https://img-blog.csdnimg.cn/20201014180756757.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
JS常用技术
文章平均质量分 51
mxydl2009
这个作者很懒,什么都没留下…
展开
-
JavaScript数组拍平(扁平化)
数组扁平化指的是将多维数组转换为一维数组,实现的思路包含以下几种:拼接+递归拼接指的是新建一个空数组作为结果数组,将原数组进行分析变换后拼接到新数组上,最终返回新数组。递归指的是由于不知道多维数组嵌套有多少层,所以对原数组采用递归的分析方式来解决。通用的方式function flatten(arr) { let result = []; // 遍历数组元素,查看元素是否为数组类型 for (let i = 0; i < arr.length; i ++) { if (A原创 2021-06-09 21:39:18 · 475 阅读 · 0 评论 -
浏览器使用video播放m3u8类的直播流媒体
关于m3u8文件格式描述m3u8 是一种基于 HTTP Live Streaming 视频流媒体格式。m3u8文件本身是一个纯文本文件,用于存放整个视频的基本信息和分片(Segment)组成。由 Apple.inc 率先提出的 HLS 协议在 Mac 的 Safari 上原生支持,浏览器目前可以通过<video src="./test.m3u8" type="application/x-mpegURL">来播放。生成使用ffmpeg工具对mp4格式的视频进行基于hls协议分割可以得到m原创 2021-03-09 14:14:12 · 8056 阅读 · 0 评论 -
JavaScript语言层面的优化
JavaScript优化内存管理高级语言自带垃圾回收机制如果不注意内存管理,可能会导致内存泄漏问题。内存管理:开发者主动申请空间、使用空间和释放空间。JavaScript中并未提供相应的API,由执行引擎根据语言来执行内存管理操作。申请空间let obj = {};使用空间obj.name = 'foo';释放空间obj = null;垃圾回收与常见GC算法垃圾回收程序执行时,会阻塞JavaScript的执行。两种对垃圾的判断:对象不再被引用时,称为垃圾对象不能从根上访问原创 2020-06-30 21:00:11 · 192 阅读 · 0 评论 -
HTML编码、innerHTML、innerText与URL编码
HTML编码字符集为了让浏览器知道页面应该显示什么,必须要给页面一个明确的字符集用于浏览器编码解码。通常,我们都用utf-8字符集。如<meta charset="UTF-8">来指定页面所用的字符集。这样一来,浏览器可以根据utf-8字符集来显示内容。点击这里先展示一下HTML特殊字符与字符实体对照表。浏览器对HTML标签内的特殊字符解析时,为什么直接写特殊字符也行,写特殊字符...原创 2020-02-29 22:14:23 · 572 阅读 · 0 评论 -
Blob数据类型及应用
JavaScript中有一种专门存放二进制数据的数据类型对象,叫blob,是从HTML5引入的。blob的英文名称为Binary Large Object,即二进制的大型对象。File对象继承自blob对象,并有一些额外的拓展功能。创建方法利用构造函数Blob(array, options)array: 必需,数组类型,其中数组元素是二进制对象或者字符串;options: 可选,对二进...原创 2019-10-14 20:03:12 · 4012 阅读 · 0 评论 -
正则表达式总结(JavaScript忍者秘籍第二版)
正则表达式创建字面量语法/表达式内容/后跟修饰符构造函数new RegExp(‘表达式内容’, ‘修饰符’)修饰符i : 对大小写不敏感;g : 查找所有匹配项,即全局查找匹配;全局匹配时,返回的数组元素为在字符串全局查找下的各个匹配结果,不包含捕获内容。m : 允许多行匹配,即multiple lines,对获取textarea元素值有帮助;y : 开启黏连匹配,与g修...原创 2019-09-27 14:13:12 · 109 阅读 · 0 评论 -
在setTimeout或者ajax等异步方法中回调函数的写法与调用
常常在setTimeout或者ajax中产生异步代码执行,执行的是回调函数,那么回调函数怎么写呢?这要跟回调函数的函数体内写法有关;回调函数的函数体内return返回值不是函数;回调函数的函数体内return返回值是函数;分析一下代码的执行过程:function callback () { console.log('执行callback函数') return function ()...原创 2019-06-18 19:32:55 · 1921 阅读 · 0 评论 -
函数参数对象arguments转为数组args的几种方法
在将函数柯里化的时候,经常需要用到函数参数对象arguments转为数组的情况(如果是用apply方法来调用函数,其实没必要转为数组,因为apply方法的第二个参数不仅可以是数组,也可以是类数组对象)。下面给出几种转为数组的方式:ES5规范下的方式:利用数组的slice方法,可以数组原型Array.prototype或者[]来调用slice,使用slice会阻止某些引擎(如V8)的优化,因此...原创 2019-06-27 16:09:49 · 655 阅读 · 0 评论 -
判断JS数据类型的方法
JS是弱语言,其数据类型可以自动转换,因此很多时候在用到数据的时刻不清楚数据的类型到底是哪种,需要进行判断后,再执行语句。最新的ECMAScript规范定义的数据类型分为两大类,分别为基本类型和引用类型。基本类型: String, Number, Boolean, Undefined, Null, Symbol基本类型也称为简单类型,作为简单的数据段占据的空间固定。因此为了提升变量的查询速...原创 2019-06-28 13:41:38 · 99 阅读 · 0 评论