摘要:
0.1 + 0.2 !== 0.3 原因:js的数据类型为Number,采用的是双精度(64位)。而数据计算,是转换成2进制进行,转换后的长度如果超过指定的长度,则会丢弃超出的部分,从而导致精度丢失。待计算完成后,又转化为原来的长度,所以大小会有变化。 常见解决浮点数精度问题的方法: 1.toFix 阅读全文
摘要:
gitlabci的配置文件名一般为:.gitlabci.yml .yml文件,是一种能被pc识别的配置文件,用yaml语言编写。 gitlabci配置有相应的关键字,如下表,原文 after_script 任务完成后执行的一组(重写)命令 allow_failure 允许其中某个任务失败,但不影响其 阅读全文
摘要:
栈:LIFO(last-in-first-out)后进先出 队列:FIFO(first-in-first-out)先进先出 数组方法 arr.pop() 返回最后一项的值 arr.push() 在数组最糊一项追加,返回当前数组长度 arr.shift() 返回第一项的值 arr.unshift() 阅读全文
摘要:
ES6模块与CommonJs模块的区别 1.前者为异步加载,后者为同步加载; 2.前者为引用,后者为拷贝缓存。当模块对应值发生改变时,前者加载处可跟随改变,后者未做特出处理的情况,不会改变; 3.前者为编译时加载,后者为运行时加载。 阅读全文
摘要:
1.单线程(浏览器脚本语言,用户交互、操作dom,如果为多线程,假设操作同一个节点,一个是增加、一个是删除,浏览器不知道该执行哪个,所以为了避免类似的问题,设计成为单线程) 2.h5允许创建多线程,但子线程受主线程控制,且不可操作DOM。 3.任务队列(同步任务、异步任务): 同步任务:在主线程内的 阅读全文
摘要:
s为非空英文字符串,要将通类型的压缩为字符串s2,且s1长度不得超过100 如:s为 aaabcccc,s2应为a3bc4 function f(s) { if (!s || (s.length > 100)) { return ; } else { const tempArr = []; let 阅读全文
摘要:
js基本数据类型: 1.Number( Int, Float, NaN, Infinity) 2.String (单引号、双引号包裹的) 3.Boolean(true, false) 4.Object(无序名值对)【引用类型】 5.Null(值为null,表示为空) 6.Undefined(值为un 阅读全文
摘要:
1.移动端独立浏览器内核: 微软:Trident 火狐: Gecko 开源内核: Webkit 【Android原生浏览器、Safari、Chrome、UC、QQ浏览器】 Opera: Presto 【Opera Mobile、OperaMini、Opera浏览器、Opera HD Beta版】 对 阅读全文
摘要:
内容安全策略CSP(Content Security Policy) 用于帮助检测和缓解某些类型的攻击,包括跨站脚本(XSS)和数据注入等攻击。 用法:在http请求头部设置:Content-Security-Policy: default-src 'self' 或在<meta http-equiv 阅读全文