摘要: 这是一篇关于js模块化历程的长长的流水账,记录js模块化思想的诞生与变迁,展望ES6模块化标准的未来。经历过这段历史的人或许会感到沧桑,没经历过的人也应该知道这段历史。 无模块时代 在ajax还未提出之前,js还只是一种“玩具语言”,由Brendan Eich花了不到十天时间发明,用来在网页上进行表 阅读全文
posted @ 2021-02-22 23:37 vickylinj 阅读(102) 评论(0) 推荐(0) 编辑
摘要: 这里先说两个概念:1、堆(heap)2、栈(stack)堆 是堆内存的简称。栈 是栈内存的简称。说到堆栈,我们讲的就是内存的使用和分配了,没有寄存器的事,也没有硬盘的事。各种语言在处理堆栈的原理上都大同小异。堆是动态分配内存,内存大小不一,也不会自动释放。栈是自动分配相对固定大小的内存空间,并由系统 阅读全文
posted @ 2021-02-22 21:32 vickylinj 阅读(689) 评论(0) 推荐(0) 编辑
摘要: 我们经常面临一个抉择:到底使用JavaScript还是CSS动画,下面做一下对比 JS动画 缺点:(1)JavaScript在浏览器的主线程中运行,而主线程中还有其它需要运行的JavaScript脚本、样式计算、布局、绘制任务等,对其干扰导致线程可能出现阻塞,从而造成丢帧的情况。 (2)代码的复杂度 阅读全文
posted @ 2021-02-22 20:54 vickylinj 阅读(252) 评论(0) 推荐(0) 编辑
摘要: 下面逐一为大家详解常用的ES6新特性: 1.不一样的变量声明:const和let ES6推荐使用let声明局部变量,相比之前的var(无论声明在何处,都会被视为声明在函数的最顶部) let和var声明的区别: var x = '全局变量'; { let x = '局部变量'; console.log 阅读全文
posted @ 2021-02-22 20:12 vickylinj 阅读(1128) 评论(0) 推荐(0) 编辑
摘要: 主要区别就是,如果在 then 的第一个函数里抛出了异常,后面的 catch 能捕获到,而第二个函数捕获不到 p.then(function () { throw new Error() }, function () { // won't capture this error }) .catch(f 阅读全文
posted @ 2021-02-22 16:52 vickylinj 阅读(1582) 评论(0) 推荐(0) 编辑
摘要: function hasPrototypeProperty(object, name) { return !object.hasOwnProperty(name) && (name in object) } 原理:hasOwnproperty()方法会返回一个布尔值,检测属性是否存在于对象中(实例) 阅读全文
posted @ 2021-02-22 16:45 vickylinj 阅读(196) 评论(0) 推荐(0) 编辑
摘要: 引言 CSS3中的 Flexible Box,或者叫flexbox,是用于排列元素的一种布局模式。 顾名思义,弹性布局中的元素是有伸展和收缩自身的能力的。 相比于原来的布局方式,如float、position,根据盒子模型,就可以计算出元素的展示尺寸(长宽非百分比),除非溢出,否则不依赖于父容器的大 阅读全文
posted @ 2021-02-22 14:52 vickylinj 阅读(790) 评论(0) 推荐(0) 编辑