js es6
文章平均质量分 75
####
改个名字888777
这个作者很懒,什么都没留下…
展开
-
类型转换(下篇)
隐式类型转换+运算符其中一个操作数是字符串的话,会进行连接字符串的操作。1+'2' // '12'需要注意的是如果是+ '42'代表强制类型转化为数字,即42。==下的类型转换原创 2021-01-25 16:37:01 · 156 阅读 · 0 评论 -
类型转换(上篇)
var a = [1,2,3];var b ={v:1};var c = () => {}console.log(a.toString()) // ‘1,2,3’console.log(b.toString) // "[object Object]"console.log(c.toString) // "()=>{}"— 类型转换 —parsetInt,将结果转换为整数 (进制转换) parseFloat,将结果转换为整数或者浮点数...原创 2021-01-25 15:58:52 · 191 阅读 · 0 评论 -
常学常新之es6
补充了一些之前不太注意到的知识点。const声明的常量只在当前代码块有效。如果想设置跨模块的常量(即跨多个文件),或者说一个值要被多个模块共享,可以采用下面的写法:原创 2021-01-15 19:31:36 · 181 阅读 · 3 评论 -
V8垃圾回收机制
前面说到栈内的内存,操作系统会自动进行内存分配和内存释放,而堆中的内存,由js引擎(如Chrome的V8)手动进行释放,当我们的代码没有按照正确的写法时,会使得JS引擎的垃圾回收机制无法正确的对内存进行释放(内存泄露),从而使得浏览器占用的内存不断增加,进而导致JavaScript和应用、操作系统性能下降。原创 2020-12-18 11:32:06 · 144 阅读 · 0 评论 -
日历 fullCalendar 整合农历
功能:1. 把后台返回的可选的节日渲染到日历视图中,即效果图中红色底子的格子。2. 将日期转化为农历渲染。3. 可根据年份选择器、月份选择器、节日选择器、日历视图,跳转到对应的节日。4. 进入该页面时,默认勾选的是离"今天"最近的未来节日,因此在sessionStorage里记录这个格子,在日历初始化的时候渲染出来。即效果图中用黄色边框标记的格子。先上最后的效果图:原创 2020-11-18 22:35:04 · 2444 阅读 · 5 评论 -
一些属性 pointer-events 、window.orientation(判断移动设备横屏 竖屏)
pointer-events实际代码使用中案例:1、提交页面,提交按钮点击后,添加这个样式属性(style="pointer-events"),来防止重复提交。2、一些层的绝对定位,覆盖按钮,穿透可以点击它。等等。原创 2020-09-27 11:17:13 · 344 阅读 · 0 评论 -
【前端常用的函数】格式化时间 取url问号后的参数 检查字段是否为空
//将以秒为单位的时间变成“00:00:00”格式的字符串//取url参数原创 2020-11-01 23:18:36 · 231 阅读 · 1 评论 -
前端优化
目录网络层1. 减少http请求2. 减少压缩体积3. 缓存3.1 DNS缓存3.2 CDN缓存3.3 http缓存3.4 给cookie优化4. 优化TCP协议渲染层优化1. 优化网页渲染2. 开启GPU渲染加速3. 减少DOM访问数据层优化1. 图片加载处理2. 异步请求的优化移动端优化首屏优化一次有很多次API 要怎么发送优化我们通常意义上说的缓存主要包含两部分。第一个是用户浏览器端的缓存,第二个是服务器端为了提.原创 2020-06-25 21:02:40 · 256 阅读 · 0 评论 -
A quick review of ES6 【class】【作用域】【继承】
用extends关键字创建子类在子类的构造函数里访问this的属性之前,要调用super()用super.XX访问基类的方法、属性使用new构造了 Student类的一个实例。 它会调用之前定义的构造函数,创建一个Student类型的新对象,并执行构造函数初始化它。原创 2019-03-10 23:07:18 · 383 阅读 · 0 评论 -
【以层为基础的复合模型对浏览器渲染的影响】
工作中遇到在absolute元素上鼠标hover不起作用的问题,搜索发现是这个原因:You can increase the stacking order by setting a higher z-index value. 因此引发了我的思考,重叠元素是如何显示,页面元素是如何以正确的顺序合成的,所以今天来学习浏览器渲染的图层,以便将来分析更加复杂的css渲染问题。原创 2020-04-12 00:20:44 · 303 阅读 · 0 评论 -
【宏任务&微任务】【渲染引擎,js引擎的执行机制】【async/await, promise, setTimeout的时序问题】
我从宏任务微任务的角度补充几点:async2()返回一个Promise对象,会立即执行;打印“async2”之后,"console.log('async1 end')"进入到宏任务队列,不在这一轮的task执行。“console.log('promise1')”是同步任务。“console.log('script end')”这个宏任务排在"console.log('async1 end')"前,所以会先执行。打印“async1 end"之后,此时执行栈中没有同步任务了,就去执行任务队列的异步任务。原创 2019-11-13 10:39:29 · 743 阅读 · 0 评论 -
声明式编程 【高阶函数】【剩余参数】【箭头函数的this】【声明式函数与赋值式函数】【undefined和null】【作用域】
forEach() may be preferable when you’re not trying to change the data in your array, but instead want to just do something with it — like saving it to a database or logging it outAnd map() might be preferable when changing or altering data. Not only is it原创 2019-08-22 11:21:14 · 427 阅读 · 0 评论 -
深拷贝 浅拷贝
大部分时候 deep clone 的用例都是在数据结构的持久化上,换句话说应该是可以被序列化/反序列化的数据。大部分情况下是不需要deepClone的,而且deepClone是应该被避免的,因为通常这会在你的程序状态中创建多个source of truth而影响reasoning,对performance影响也很大。如果对象比较大,层级也比较多,深复制会带来性能上的问题。在遇到需要采用深复制的场景时,可以考虑有没有其他替代的方案。在实际的应用场景中,也是浅复制更为常用。原创 2019-04-29 12:07:12 · 1419 阅读 · 0 评论 -
【content-type, webSocket, cookie】【跨域-cross-options】【编码方式】
前台跨域post请求,由于CORS(cross origin resource share)规范的存在,浏览器会首先发送一次options嗅探,同时header带上origin,判断是否有跨域请求权限,服务器响应access control allow origin的值,供浏览器与origin匹配,如果匹配则正式发送post请求。原创 2019-04-26 10:06:40 · 924 阅读 · 0 评论 -
JavaScript 查漏补缺01
目录1.基础知识2.十进制整数转为二进制编码3.JavaScript--Array数组的join()方法4.HTML lable标签5.HTML input标签6.HTML DOM appendChild() 方法7.HTML DOM createElement() & createTextNode() 方法8.HTML DOM parentNode ...原创 2018-09-09 00:17:18 · 270 阅读 · 0 评论 -
JavaScript 查漏补缺03
目录1.一个简单的例子 随机背景颜色2.将一个有名字的函数赋值给事件处理参数3.input框 (even.KeyCode属性:字符代码、键盘代码)4.JS事件委托/事件代理1.一个简单的例子 随机背景颜色<button>Change color</button>var btn = document.querySelector('butt...原创 2018-09-19 22:08:48 · 410 阅读 · 0 评论 -
JavaScript 查漏补缺04 (计时、正则、递归、排序)
目录1.HTML DOM setTimeout() 方法2.正则表达式3.递归函数4.排序1.HTML DOM setTimeout() 方法setTimeout() 方法用于在指定的毫秒数后调用函数或计算表达式。1000毫秒=1秒。可以用500毫秒,可以在后台看到1秒执行了2次。setTimeout() 只执行 code 一次。如果要多次调用,请使用 setInter...原创 2018-09-29 21:54:14 · 294 阅读 · 0 评论 -
对数组的操作 【数组去重】【数组扁平化】【reduce,concat, isArray...】【数组排序】
demo 1 :products = [ "Underpants:6.99", "Socks:5.99", "T-shirt:14.99", "Trousers:31.99", "Shoes:23.99" ]; for (var i = 0; i <= products.length; i++) { let item = pro...原创 2019-07-24 17:52:17 · 299 阅读 · 0 评论 -
【JSON.stringify()的运用】【类数组对象转数组】【判断数组是数组】【原型原型链】【闭包】
数组对象Array有很多方法:shift、unshift、splice、slice、concat、reverse、sort,ES6又新增了一些方法:forEach、isArray、indexOf、lastIndexOf、every、some、map、filter、reduce等。由于类数组不具有数组所具有的操作数组的方法,将类数组转换为数组之后就能调用这些强大的方法。原创 2019-07-23 20:17:44 · 2047 阅读 · 1 评论 -
JavaScript 查漏补缺02 函数
目录1.匿名函数2.函数的定义和调用3.JavaScript random() 方法4.JavaScript floor() 方法1.匿名函数https://developer.mozilla.org/zh-CN/docs/Learn/JavaScript/Building_blocks/Functions你还可以将匿名函数分配为变量的值,例如:var myG...原创 2018-09-16 23:06:55 · 193 阅读 · 0 评论