前端开发

Object.defineProperty的问题

2019-05-2290次阅读javascript
关于Object.defineProperty的介绍看这里,今天又看到《数据劫持 OR 数据代理》一文,我就转载收藏记录一下关于Object.defineProperty的问题。
前端开发

理解defineProperty以及getter、setter

2019-05-2276次阅读javascript
我们常听说vue是用getter与setter实现数据监控的,那么getter与setter到底是什么东西,它与defineProperty是什么关系,平时有哪些用处呢?本文将为大家一一道来。注:Vue.js 3.0不再使用Object.defineProperty而是原生Proxy。
前端开发

Element.closest()简化事件处理程序中匹配最近的父元素

2019-05-14120次阅读javascript
Element.closest()方法用来获取:匹配特定选择器且离当前元素最近的祖先元素(也可以是当前元素本身)。如果匹配不到,则返回null。使用Element.closest()简化事件处理程序中匹配最近的父元素。
前端开发

script标签async、defer属性及其区别

2019-05-11125次阅读javascript
async脚本会在下载后立即执行,而不保持顺序。这意味着如果有一个异步React bundle包和异步app bundle应用程序包,并且React bundle包更大,则app bundle应用程序将比React更早下载并执行(发生js依赖错误并中断执行)。与async不同,defer只有在下载完所有脚本后才能以正确的顺序执行。因此,在优化大型复杂应用程序时,defer延迟可能比async异步更安全。
前端开发

再次认识requestAnimationFrame以及其polyfill库raf

2019-05-08152次阅读javascript
window.requestAnimationFrame() 方法告诉浏览器希望执行动画并请求浏览器调用指定的函数在下一次重绘之前更新动画。它采用系统时间间隔,保持最佳绘制效率,不会因为间隔时间过短,造成过度绘制,增加开销;也不会因为间隔时间太长,使动画卡顿不流畅,让各种网页动画效果能够有一个统一的刷新机制,从而节省系统资源,提高系统性能,改善视觉效果。requestAnimationFrame还有一个很好用的polyfill库raf推荐给大家。
前端开发

JavaScript数组扁平化

2019-05-05117次阅读javascriptArray
数组的扁平化,就是将一个嵌套多层的Array数组(嵌套可以是任何层数)转换为只有一层的数组。
前端开发

您可能不需要jquery

2019-05-05100次阅读javascript原生Js
刚开始使用jQuery可以帮助我们免受浏览器不兼容的烦恼,但现代的浏览器更新发展超乎我们的想象,所以有些情况下根本不需要引入一个jQuery库文件。一味的使用jQuery,会让你忘了或失去很多原生Javascript的魅力。
前端开发

被忽略的逗号操作符

2019-04-2779次阅读javascript
逗号操作符对它的每个操作数求值(从左到右),并返回最后一个操作数的值。
前端开发

JavaScript设计模式之单例模式

2019-04-23103次阅读javascript
JavaScript设计模式之单例模式就是保证一个类只有一个实例,实现的方法一般是先判断实例存在与否,如果存在直接返回,如果不存在就创建了再返回,这就确保了一个类只有一个实例对象。
前端开发

js大小写转换

2019-04-2398次阅读javascript
toUpperCase 方法返回一个字符串,该字符串中的所有字母都被转化为大写字母;toLowerCase 方法返回一个字符串,该字符串中的字母被转换为小写字母